基于选定的TreeViewItem切换视图

| 我有一个Shell.xaml文件,其中包含另外两个UserControls。左边是我的TreeView,右边是详细信息屏幕。 我希望detailscreen可以基于选定的TreeViewItem进行切换。我知道可以通过使用DataTemplates来实现,因为我已经完成了简单的按钮单击并使用
<ContentControl Content=\"{Binding CurrentDetailViewModel}\">
标记来完成此操作,但是我不知道如何根据选定的TreeViewItem来完成此操作。我的UserControl也有一个单独的ViewModel类,其中包含TreeView和每个详细信息屏幕。 我一直在使用乔希·史密斯(Josh Smith)在TreeViews上的教程:http://www.codeproject.com/KB/WPF/TreeViewWithViewModel.aspx 所以我也使用他的TreeViewItemViewModel.cs类。 有人可以对此有所了解吗? 谢谢, 格兰特     
已邀请:
如果树视图和详细信息都显示相同的对象(即树视图的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>
    

要回复问题请先登录注册