在我的 WPF 应用程序中,我有一个名为CompanyViewModel.
有时,这个类的一个实例被设置为DataContext我的主窗口,它的定义如下:
<window x:Class= ..... >
<Grid>
<ContentControl Content="{Binding }"></ContentControl>
</Grid>
</Window>
在这种情况下,我希望使用一个显示视图模型的所有属性的视图。
其他时候,ListView控件将其 itemsource 设置为包含CompanyViewModel. 在这里,我希望使用一个只呈现一些重要属性的视图。
我在资源字典中有这个MainWindow.xaml:
<DataTemplate DataType="{x:Type vm:CompanyViewModel}">
<vw:CompanyView></vw:CompanyView>
</DataTemplate>
是否可以根据绑定视图模型的上下文为视图模型选择视图?例如,使用CompanyViewwhen 显示在ContentControlwindow 或 when 在 a 中TabControl,以及使用CompanyViewSmallwhere 显示在 a 中ListView?