我有一个 WPF TreeView 绑定到混合类型对象的层次结构。因此,我使用带有“DataType”属性的 HierarchicalDataTemplates 来指定用于每种类型的模板,这很好用(TreeView 会自动为每种对象类型捕获正确的模板)。
现在我有一个问题,我有第二个 TreeView(在同一个 XAML 文件中),它要填充相同类型的对象。然而,这一次,它们必须以另一种方式显示,所以我需要另一组 HierarchicalDateTemplates。同样,我会使用“DataType”属性。但是如果我把它们放在同一个 XAML 文件中,我当然会得到一个错误(我不能为同一类型定义两个模板)。
有没有办法以某种方式确定它们的范围,以便第一个 TreeView 专门使用第一组,而第二个 TreeView 只使用第二组?
(请注意,由于事先不知道对象树结构,因此我必须使用“DataType”方法(无论如何我更喜欢),并且不能使用静态 HierarchicalDataTemplate。)