如何为单一类型指定两个数据模板?

lev*_*ovd 5 wpf xaml datatemplate

我在 XAML DataTemplate 中定义了我自己的类型。

<DataTemplate DataType="{x:Type MyType}">
    ...
</DataTemplate>
Run Code Online (Sandbox Code Playgroud)

现在我想为相同范围内的相同类型再添加一个模板。我将如何选择在具体的 ItemsControl 中使用哪个模板?

背景:
我有 ItemsControl,它根据项目的类型以不同的方式显示不同类型的对象(当然是从一个基类派生的)。所以我为每种类型指定了未命名的数据模板。现在我需要显示相同的数据,但使用新模板(旧模板支持编辑,新模板不支持)。

Jar*_*das 2

您需要使用 DataTemplateSelector (msdn 链接