Я бы сказал, когда это возможно Шаблоны - это путь в WPF. Они определяют, как элементы управления или данные отображаются в пользовательском интерфейсе. Используя шаблоны, можно использовать любой объект (не только строки), например, в качестве содержимого кнопки. Если вы устанавливаете содержимое Button как объект типа MyType
, WPF будет искать в ресурсах шаблон данных для MyType
и использовать его, если он найден. Если DataTemplate не найден, он будет использовать метод ToString()
этого объекта и отобразит результат.
В вашем сценарии вы можете использовать простой ContentControl
для просмотра подробностей справа и определять различные DataTemplate
s для каждого типа элемента. Если не каждому элементу нужен свой шаблон (то есть некоторые типы используют один и тот же шаблон), вы можете реализовать ContentTemplateSelector
, чтобы определить правильный DataTemplate
программным путем.
Обзор шаблонов дает хорошее введение в эту тему.
HTH, удачи!