Question

Je dois écrire un contrôle qui est censé prendre seulement un certain type de contrôles enfants. Fonctionnellement il fonctionne comme un sélecteur dans que je peux sélectionner / activer sur ses Childs, mais il semble que je ne peux pas tirer de Selector, car un ItemsControl peut prendre tout type d'enfant (objet). Je voudrais vraiment avoir compiletime ici Sûreté du typage. Donc, lancer une exception quand un enfant du mauvais type est ajouté n'est pas une option.

Cette contrainte semble nécessaire car le contrôle des parents doit pouvoir compter sur certaines propriétés et behavoir dans ses enfants. Il y a aussi une communication directe des enfants avec ses parents.

Comment est quelque chose comme ça habituellement traité dans WPF.

Était-ce utile?

La solution

enveloppe de ItemsControl leurs enfants dans un type de conteneur d'éléments de votre choix. Ainsi, vous connaissez les enfants de votre ItemsControl sera toujours de ce type. Par exemple, ListBoxes ont toujours ListBoxItems comme des enfants.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top