Я бы связал панель свойств (которая может быть просто 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>
Очевидно, что ваши DataTemplate
могут быть настолько сложными, насколько это необходимо для отображения различных классов, присутствующих в TreeView
.