在我的应用程序中,我希望有 DataTemplates 这样我可以说:
- 这些是在 TreeView 中使用的数据模板
- 这些是显示对象摘要时使用的数据模板
- 这些是显示详细信息时要使用的数据模板
我看到能够做到这一点的唯一方法是创建一个 DataTemplateSelector 并为我需要的类手动返回 DataTemplate(可能通过命名约定)。有没有更优雅的方式来处理这种情况?
最佳答案
我不确定我是否完全理解你在寻找什么,但你应该能够在 ResourceDictionary
中定义 DataTemplate
大多数对您(应用程序、窗口、元素或外部)有意义,具有它们适用的数据类型的 x:Key
,它们将自动被 WPF 的内部数据模板选择引擎选择。
例如:
<Window ...>
<Window.Resources>
<DataTemplate x:Key="{x:Type myns:MyDataType}">
<!-- your template definition here -->
</DataTemplate>
</Window.Resources>
</Window>
现在,只要在该窗口中遇到 MyDataType 的实例,WPF 就会自动选择该模板来显示其数据。
关于c# - 如何拥有 DataTemplates 类?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1661650/