Селектор, который может принимать только детские элементы определенного типа?

StackOverflow https://stackoverflow.com/questions/2307241

Вопрос

Мне нужно написать контроль, который должен принимать только определенный тип управления дочерним делом. Функционально он работает как селектор в том смысле, что я могу выбрать/активировать его детей, но кажется, что я не могу получить от селектора, потому что элементы Control могут принимать любой тип ребенка (объект). Я действительно хотел бы иметь здесь Compiletime Typesafety. Таким образом, выбросить исключение, когда добавлен ребенок неправильного типа, не является вариантом.

Это ограничение, по -видимому, необходимо, потому что родительский контроль должен полагаться на определенные свойства и поведение у своих детей. Существует также некоторое прямое общение с детьми с родителями.

Как что -то подобное обычно обрабатывается в WPF.

Это было полезно?

Решение

ItemsControlЗаверните своих детей в тип контейнера на ваш выбор. Таким образом, вы знаете детей ваших ItemsControl всегда будет такого типа. Например, ListBoxES всегда есть ListBoxItemS как дети.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top