Selettore che può avvenire solo elementi figlio di un certo tipo?
-
22-09-2019 - |
Domanda
Ho bisogno di scrivere un controllo che si suppone di prendere solo un certo tipo di controlli figlio. Funzionalmente funziona come un selettore a che posso selezionare / attivare il bambino dei suoi, ma sembra che non posso derivare da selettore perché un ItemsControl può assumere qualsiasi tipo di bambino (oggetto). Mi piacerebbe davvero avere compiletime sicurezza rispetto ai tipi qui. Così un'eccezione quando un bambino del tipo sbagliato è aggiunto non è un'opzione.
Questo vincolo sembra essere necessario, perché il controllo genitore ha bisogno di contare su alcune proprietà e behavoir nei suoi figli. C'è anche qualche comunicazione diretta dei bambini con i suoi genitori.
Come è qualcosa di simile a questo di solito gestito in WPF.
Soluzione
involucro di ItemsControl
loro figli in un oggetto tipo di contenitore di vostra scelta. Così, si sa i figli del tuo ItemsControl
saranno sempre di quel tipo. Ad esempio, ListBox
es hanno sempre ListBoxItem
s da bambini.