Как построить VS-подобную панель свойств в WPF? - PullRequest
2 голосов
/ 14 апреля 2009

Я получил TreeView, содержащий разные объекты из разных классов. Теперь я хочу построить панель свойств, которая показывает различное содержимое, в зависимости от того, какой объект / класс выбран в TreeView. Как лучше всего построить такую ​​панель? Различные панели и сворачивающиеся панели в зависимости от выбора (что может сделать реализацию ObserverPattern для меня более легкой?)? Или другой подход?

Ответы [ 2 ]

2 голосов
/ 14 апреля 2009

Я бы связал панель свойств (которая может быть просто 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.

1 голос
/ 15 апреля 2009

Вы имеете в виду сетку свойств ?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...