Мне нужно написать элемент управления, который должен принимать только определенный тип дочерних элементов управления. Функционально он работает как селектор в том смысле, что я могу выбрать / активировать его дочерние элементы, но кажется, что я не могу наследовать от селектора, поскольку ItemsControl может принимать любой тип дочернего элемента (объекта). Я действительно хотел бы иметь безопасность типов во время компиляции здесь. Поэтому исключение при добавлении дочернего элемента неправильного типа - не вариант.
Это ограничение представляется необходимым, поскольку родительский элемент управления должен полагаться на определенные свойства и поведение своих дочерних элементов. Существует также прямое общение детей с родителями.
Как это обычно обрабатывается в WPF.