1

我需要编写一个应该只采用某种类型的子控件的控件。从功能上讲,它的工作方式类似于 Selector,因为我可以选择/激活它的子项,但似乎我不能从 Selector 派生,因为 ItemsControl 可以采用任何类型的子项(对象)。我真的很想在这里有编译时类型安全。因此,当添加错误类型的孩子时抛出异常不是一种选择。

这个约束似乎是必要的,因为父控件需要依赖其子控件的某些属性和行为。孩子与父母之间也有一些直接的交流。

在 WPF 中通常如何处理这样的事情。

4

1 回答 1

1

ItemsControl将他们的孩子包装在您选择的项目容器类型中。因此,您知道您的孩子ItemsControl将永远属于那种类型。例如,ListBoxes 总是有ListBoxItems 作为孩子。

于 2010-02-21T20:14:10.603 回答