a volte WPF è troppo complesso per me. Ho il mio "Window1" contenente una collezione di "Group". "Gruppo" è una classe con una raccolta di "Persone". Alla fine questo dovrebbe essere un elenco di contatti. Quello che voglio semplicemente fare è mostrare i gruppi con la sua persona in un ListBox, dove il nome del gruppo dei gruppi di liste è uguale alla proprietà Name della mia classe "Groups".WPF: associa raccolta con raccolta a un ListBox con gruppi
Ho provato con un oggetto CollectionViewSource associato alla "Raccolta". I gruppi sono visualizzati correttamente, ma gli elementi della lista sono uguali ai nomi dei gruppi. Quindi ogni gruppo ha un solo oggetto: il suo nome di gruppo.
Molti esempi qui mostrano il raggruppamento di articoli con una sola raccolta. Quello che posso fare è impostare il nome del gruppo come proprietà di "Persona". Ma poi non posso contare (e questo è davvero necessario): - quante persone ci sono in ogni gruppo - quante di quelle persone hanno lo "Stato" "Online".
Io uso linq nella classe "Gruppo" per conteggiare. Grazie per qualsiasi consiglio che mi aiuti a iniziare.
Questo è utile ed è uguale alla mia vecchia soluzione, dove avevo un Expander per gruppo e un ListBox per i Contatti. Il problema qui è che puoi selezionare una persona per lista, ma suppongo che tu possa farcela con una. Provo a copiare l'interfaccia utente dell'elenco contatti di Windows Live Messenger 2009. Penso che abbiano usato solo un ListBox e un Expander come ControlTemplate per il gruppo. Ma suppongo anche che abbiano definito il gruppo come proprietà. Ma davvero non lo so, come possono contare le persone online. A proposito, hai ragione con le tue lezioni. –
Perché non si utilizza il controllo TreeView per la visualizzazione di dati gerarchici? – idursun
Hai assolutamente ragione! Penso che risolverebbe sicuramente il mio problema. Non ho una risposta per il "perché". Non ho usato molto il controllo TreeView. Ma questo sarebbe il migliore per il mio problema. Grazie! –