如何在WPF中构建类似VS的属性面板?

时间:2009-04-14 15:02:28

标签: c# wpf visual-studio

我有一个TreeView包含来自不同类的不同对象。现在我想构建一个propertypanel,它显示不同的内容,依赖于TreeView中选择的对象/类。构建此类面板的最佳方法是什么?不同的面板和折叠面板取决于选择(谁能让我更容易实现ObserverPattern?)?还是另一种方法?

2 个答案:

答案 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吗?