【发布时间】:2014-07-23 17:08:46
【问题描述】:
据我所知,您可以在 WPF 中执行以下操作:
<Window.Resources>
<DataTemplate DataType="{x:Type ViewModels:IronStage1ViewModel}">
<Views:IronStage1View/>
</DataTemplate>
<DataTemplate DataType="{x:Type ViewModels:IronStage2ViewModel}">
<Views:IronStage2View/>
</DataTemplate>
<Views:TestStageToTabIndexConverter x:Key="TestStageToTabIndexConverter" />
</Window.Resources>
我的问题: 有什么方法可以根据 ViewModel 中的属性选择 View?
类似这样的:
<Window.Resources> //If property Selector==1
<DataTemplate DataType="{x:Type ViewModels:IronStage1ViewModel}">
<Views:IronStage1View/>
</DataTemplate>
// If property Selector==2
<DataTemplate DataType="{x:Type ViewModels:IronStage1ViewModel}">
<Views:IronStage2View/>
</DataTemplate>
</Window.Resources>
【问题讨论】:
-
想到数据触发器,这也可以通过转换器完成。你有什么特别好奇的实现吗?
-
对不起,我不明白你的意思是什么,再见具体的实现。但只是说我使用 Ninject 作为我的 DI 容器,并且我尽量遵守所有设计模式。