我想在树视图中显示两个类。
在我的主窗口中,我有某种类型对象的可观察集合,将其称为对象 a。
对象 a 包含另一种类型的对象(对象 b)的可观察集合。
每个对象 b 包含对象 b 的可观察集合。
例如,我可能有类似这样的东西
对象A的列表
-对象A1
--ObjectB 列表
---对象B
----ListOfObjectB 的
-----对象B
-对象A2
--ObjectB 列表
---对象B
我的 xaml 应该是什么样子才能将树视图绑定到类似的东西?
抱歉,如果我没有很好地解释这一点,我是 wpf 的新手。
RB的想法是正确的。这就是 WPF 将模板应用于普通 .NET 对象的能力变得非常强大的地方。
您需要指定两个HierarchicalDataTemplates
,一个用于类型的对象a
,另一个用于类型的对象b
。像这样的东西:
<TreeView>
<TreeView.Resources>
<HierarchicalDataTemplate TargetType="{x:Type local:a}">
<!-- XAML to display objects of type a -->
</HierarchialDataTemplate>
<HierarchicalDataTemplate TargetType="{x:Type local:b}">
<!-- XAML to display objects of type b -->
</HierarchicalDataTemplate>
</TreeView.Resources>
</TreeView>
您将需要指定绑定ItemsSource
每个模板的属性,以便 WPF 知道从哪里获取子对象。另外,您还需要添加一个xmlns
向根节点声明,指定对象所在的命名空间(由local
在上面的示例代码中)。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)