在我的 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>
是否可以根据绑定视图模型的上下文为视图模型选择视图?例如,使用CompanyView
when 显示在ContentControl
window 或 when 在 a 中TabControl
,以及使用CompanyViewSmall
where 显示在 a 中ListView
?