【问题标题】:Can I use different datatemplate for same datatype basedon some creteria?我可以根据某些标准对相同的数据类型使用不同的数据模板吗?
【发布时间】:2011-02-12 18:52:09
【问题描述】:

我是 wpf 的新手,现在遇到了问题。我有一个模型类说Customer,并且我创建了一个将TargetType 属性设置为Customer 的DataTemplate。它运作良好。但我实际上想要两个不同的模板,一个用于显示记录,另一个用于就地编辑。是否可以根据某些标准为同一数据类型指定两个不同的模板? 我想根据 ViewModel 上的某些属性切换此模板,例如 IsEditmodeTrue 时。

还是我做错了?我应该改用样式吗?

【问题讨论】:

    标签: wpf data-binding datatemplate


    【解决方案1】:

    您的方法似乎非常好。

    您可以创建一个DataTemplateSelector,它允许您根据代码中的任意标准选择数据模板。

    我经常使用这些来根据枚举类型属性来决定使用哪个模板。

    【讨论】:

      【解决方案2】:

      我能想到两种简单的方法,当然还有其他方法,具体取决于您想要遵循的复杂性和架构。

      1. 使用“Key”定义 DataTemplate,并使用 StaticResource/DynamicResource Binding 专门调用它。
      2. 您可以在数据模板中使用 DataTrigger,它可以根据您的“EditMode”属性使模板的某些部分可见/折叠

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2023-04-07
        • 2022-10-06
        • 1970-01-01
        • 2012-01-30
        • 2018-09-25
        • 2023-04-07
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多