我有一个TreeView
包含来自不同类的不同对象。现在我想构建一个propertypanel,它显示不同的内容,依赖于TreeView
中选择的对象/类。构建此类面板的最佳方法是什么?不同的面板和折叠面板取决于选择(谁能让我更容易实现ObserverPattern?)?还是另一种方法?
答案 0 :(得分:2)
我会将属性面板(可能只是ContentControl
)绑定到SelectedItem
中的TreeView
:
<ContentPanel Content="{Binding SelectedItem, ElementName=_treeView}"/>
然后我会使用DataTemplate
来显示您所拥有的每个项目的正确面板:
<DataTemplate DataType="{x:Type local:SomeClass}">
<Label>This is displayed for SomeClass</Label>
</DataTemplate>
<DataTemplate DataType="{x:Type local:SomeOtherClass}">
<Label>This is displayed for SomeOtherClass</Label>
</DataTemplate>
显然,您DataTemplate
可能会显示TreeView
中显示的各种类别所需的复杂内容。
答案 1 :(得分:1)
你的意思是property grid吗?