我正在开发一个包含个人资料视图的Windows 8商店应用。在配置文件视图中,我有一个ListView,它绑定到ViewModel中的Observable对象集合。我在视图模型中也有一个名为currentObject的属性。
我需要做的是为集合中具有与currentObject相同id的对象选择不同的项模板。在viewmodel中执行此操作的方法很简单,但是,我不确定如何触发该方法并将项模板名称返回到视图模型中的listview模板选择器属性。
我正在使用c#,MVVM和caliburn.micro,所以我希望将这些代码保留在代码背后。
有什么建议吗?
答案 0 :(得分:0)
有一种比使用DataTemplateSelector更简单的方法,如上面注释中的答案所示,如果您在XAML中使用DataTemplates,则可以使用DataType属性,您可以使用它将DataTemplate与类型相关联(它应该是一个ViewModel)。因此,当渲染引擎遇到类型时,它知道要选择哪个数据模板。
<DataTemplate DataType="{x:Type vm:MyViewModel}">
</DataTemplate>