如何使用DataTemplates类?

时间:2009-11-02 14:34:39

标签: c# wpf datatemplate

在我的应用程序中,我想要DataTemplates,我可以说:

  • 这些是在TreeView中使用的DataTemplates
  • 这些是显示对象摘要时要使用的DataTemplates
  • 这些是显示详细信息时要使用的DataTemplates

我看到能够做到这一点的唯一方法是创建一个DataTemplateSelector并手动返回我需要的类的DataTemplate(可能通过命名约定)。有没有更优雅的方式处理这种情况?

2 个答案:

答案 0 :(得分:2)

我不确定我是否完全理解您要查找的内容,但您应该能够在最有意义的范围内DataTemplate中定义ResourceDictionary(应用程序,窗口,元素或外部),它们的数据类型为x:Key,它们将由WPF的内部数据模板选择引擎自动选择。

例如:

<Window ...>
    <Window.Resources>
        <DataTemplate x:Key="{x:Type myns:MyDataType}">
           <!-- your template definition here -->
        </DataTemplate>
    </Window.Resources>
</Window>

现在,在该窗口中遇到MyDataType实例的任何地方WPF都会自动选择该模板来显示其数据。

答案 1 :(得分:0)

您可以设置DataTemplate的DataType属性。在运行时,模板将自动分配给其类型的对象。