Questo sito utilizza cookies, anche di terze parti, per mostrare pubblicità e servizi in linea con il tuo account. Leggi l'informativa sui cookies.
Username: Password: oppure
C# / VB.NET - [VB.NET] WPF: Aggiungere subitem
Forum - C# / VB.NET - [VB.NET] WPF: Aggiungere subitem

Avatar
dedalux (Normal User)
Pro


Messaggi: 155
Iscritto: 14/02/2009

Segnala al moderatore
Postato alle 12:43
Mercoledì, 21/04/2010
Salve gente, in un'applicazione WPF ho una Listview, e devo aggiugere ad ogni item un subitem, ma non riesco proprio a capire come si fa... non c'è nessuna classe subitem o column o simile!
Inoltre mi sono accorto che creando 2 colonne, se aggiungo un item (nella prima), se ne crea uno uguale nella seconda...
allego l'esempio

grazie mille


«La disumanità del computer sta nel fatto che, una volta programmato e messo in funzione, si comporta in maniera perfettamente onesta.»

Isaac Asimov
PM Quote
Avatar
Il Totem (Admin)
Guru^2


Messaggi: 3635
Iscritto: 24/01/2006

Segnala al moderatore
Postato alle 18:57
Mercoledì, 21/04/2010
Devi imporre un binding dei dati nel codice xaml, perché la proprietà Content di qualsiasi elemento di wpf non ha tipo: può essere un altro controllo, una stringa, un oggetto qualsiasi, eccetera... Per questo motivo devi comunicare alla listview (in questo caso) come trattare il contenuto dei singoli elementi. Ammettiamo che tu aggiunga come elemento un array di stringhe (che ti dovrebbe suonare familiare, dato che il costruttore del vecchio ListViewItem accettava anche un array di stringhe come parametro).
Quando definisci una colonna specificherai come binding la proprietà "[0]", ossia la proprietà di default (nel caso degli array, è Item) a cui viene passato l'indice 0. Ecco un esempio:
Codice sorgente - presumibilmente Plain Text

  1. <ListView>
  2.     <ListView.View>
  3.       <GridView>
  4.         <GridViewColumn Width="120" Header="Uno" DisplayMemberBinding="{Binding [0]}" />
  5.         <GridViewColumn Width="120" Header="Due" DisplayMemberBinding="{Binding [1]}" />
  6.         <GridViewColumn Width="120" Header="Tre" DisplayMemberBinding="{Binding [2]}" />
  7.       </GridView>
  8.     <ListView.View>
  9. </ListView>



"Infelici sono quelli che hanno tanto cervello da vedere la loro stupidità."
(Fligende Blatter)

"Dubitare di se stessi è il primo segno d'intelligenza."
(Ugo Ojetti)
PM Quote
Avatar
dedalux (Normal User)
Pro


Messaggi: 155
Iscritto: 14/02/2009

Segnala al moderatore
Postato alle 19:17
Mercoledì, 21/04/2010
Gentilmente, potresti farmi un esempio di come aggiungere via codice, per esempio, nella colonna 1 una stringa con scritto "1", colonna 2 "2" e terza "3"?

grazie ancora


«La disumanità del computer sta nel fatto che, una volta programmato e messo in funzione, si comporta in maniera perfettamente onesta.»

Isaac Asimov
PM Quote
Avatar
Il Totem (Admin)
Guru^2


Messaggi: 3635
Iscritto: 24/01/2006

Segnala al moderatore
Postato alle 19:33
Giovedì, 22/04/2010
Credo che questo possa andare:
Codice sorgente - presumibilmente Plain Text

  1. ListView1.Items.Add(New String() {"1", "2", "3"})



"Infelici sono quelli che hanno tanto cervello da vedere la loro stupidità."
(Fligende Blatter)

"Dubitare di se stessi è il primo segno d'intelligenza."
(Ugo Ojetti)
PM Quote