【问题标题】:Selecting ItemTemplate from ViewModel从 ViewModel 中选择 ItemTemplate
【发布时间】:2013-03-12 13:04:10
【问题描述】:

我正在开发一个包含配置文件视图的 Windows 8 商店应用程序。在配置文件视图中,我有一个 ListView,它绑定到 ViewModel 中的 Observable 对象集合。我在视图模型中还有一个名为 currentObject 的属性。

我需要做的是为集合中与 currentObject 具有相同 id 的对象选择不同的项目模板。在视图模型中执行此操作的方法很简单,但是我不确定如何触发该方法并将项目模板名称返回到视图模型中的列表视图模板选择器属性。

我正在使用 c#、MVVM 和 caliburn.micro,所以我更愿意将此代码保留在后面的代码之外。

有什么建议吗?

【问题讨论】:

标签: xaml mvvm windows-8 microsoft-metro windows-runtime


【解决方案1】:

有一种比使用 DataTemplateSelector 更简单的方法,如上面评论中的答案所示,如果您在 XAML 中使用 DataTemplates,您可以使用 DataType 属性,您可以使用它来将 DataTemplate 关联到一个类型(它应该是一个 ViewModel)。因此,当渲染引擎遇到该类型时,它就知道要选择哪个数据模板。

 <DataTemplate DataType="{x:Type vm:MyViewModel}">
 </DataTemplate>

【讨论】:

    猜你喜欢
    • 2023-03-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-10-11
    • 2014-02-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多