2009-03-10 11 views
6

Ho un modulo WPF con un ListBox di elementi associati a un metodo che ottiene gli elementi per la casella di riepilogo. Quello che voglio è un elemento aggiuntivo nella parte superiore del ListBox che si comporta in modo diverso rispetto al resto degli elementi.Come posso aggiungere un elemento aggiuntivo a un ListBox WPF utilizzando ItemSource?

Ad esempio, supponiamo di avere un elenco di Autori (da un database a un elenco) e quando seleziono un autore, esso popola un'altra casella di riepilogo con i libri di quell'autore. Mi piacerebbe avere un elemento aggiuntivo nella casella di riepilogo di lstAuthors intitolata Mostra tutto, che popolerà l'altra casella di riepilogo con tutti i libri. Come posso aggiungere questo elemento aggiuntivo alla mia lista?

risposta

9

Usa CompositeCollection per unire la tua raccolta, con un'altra raccolta contenente il tuo articolo specializzato. Quindi, utilizza un datatemplate fortemente tipizzato per la speciale opzione seleziona tutto che fa ciò che vuoi in quella sezione.

Altre opzioni includono la disabilitazione di scorrimento nella visualizzazione elenco, ponendo il listview all'interno di uno StackPanel, insieme con il vostro Seleziona tutto, e poi mettendo quel pannello dello stack in uno ScrollViewer, o semplicemente mettere un pulsante nell'interfaccia utente :)

Problemi correlati