c# - 如何拥有 DataTemplates 类?

标签 c# wpf datatemplate

在我的应用程序中,我希望有 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/

相关文章:

wpf - 在 ContentPresenter 中设置自动生成的 Textblock 样式

wpf - 从 DataTemplate 内的资源绑定(bind)

c# - 如何指定 "collection of nullable types"的约束?

javascript - 如何从使用代码隐藏和 c# 创建的 javascript 调用 session

c# - 用 WinExe 发布一个 wpf 应用程序仍然打开一个控制台主机窗口

WPF如何强制设计器显示自定义窗口样式

wpf - 如何在这种情况下应用 MVVM

c# - 在代码隐藏中创建样式

wpf - 我可以使用 DataTemplate 将 ContextMenu 应用于 ContextMenuViewModel 吗?

c# - 我应该如何在 ASP.NET MVC 中实现 "Forgot your password"?