2009-04-14 42 views
2

我得到了TreeView,其中包含來自不同類別的不同對象。現在我想要構建一個屬性面板,它顯示不同的內容,取決於TreeView中選擇的對象/類別。建立這樣的面板的最佳方式是什麼?根據選擇不同的面板和摺疊面板(是否使ObserverPattern更容易實現?)?還是另一種方法?如何在WPF中構建類VS的屬性面板?

回答

2

我會在屬性面板(這可能只是一個ContentControl)到SelectedItem綁定在TreeView

<ContentPanel Content="{Binding SelectedItem, ElementName=_treeView}"/> 

然後我會用DataTemplate s到顯示每個類項目,你有正確的面板:

<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> 

顯然是需要顯示存在於TreeView各階級的DataTemplate可以均爲複雜。

+0

謝謝...看起來不錯 – 2009-04-14 16:03:49

1

您的意思是property grid

+0

不錯...不知道那一個。但我認爲這將對我的需求有很大的幫助。 – 2009-04-15 10:26:43