Если как древовидная структура, так и детали отображают один и тот же объект (т. Е. ItemsSource древовидной структуры содержит объекты, которые вы хотите поместить в шаблон данных в пользовательском элементе управления), то вы должны иметь возможность установить свойство в базовом ViewModel, которое оба элемента управления совместно используют пользовательский элемент управления, отображающий что-то соответствующее шаблонам данных.
например, во ViewModel:
object TreeViewSelectedItem
{
get{ return _treeViewSelectedItem;}
set {_treeViewSelectedItem = value; NotifyPropertyChanged("TreeViewSelectedItem");}
}
Treeview xaml
<TreeView ... SelectedItem={Binding TreeViewSelectedItem Mode=OneWayToSource}".../>
пользовательский элемент управления xaml
<UserControl>
<Control.Resources>
<DataTemplate DataType="{x:Type Plane}">
....
</DataTemplate>
<DataTemplate DataType="{x:Type Train}">
....
</DataTemplate>
<DataTemplate DataType="{x:Type Automobile}">
....
</DataTemplate>
</Control.Resources>
<ContentControl Content={Binding TreeViewSelectedItem}"/>
</Usercontrol>