【问题标题】:How to create DataTemplate in WinUI in C#?如何在 C# 中的 WinUI 中创建 DataTemplate?
【发布时间】:2022-10-14 22:04:50
【问题描述】:

如何在 WinUI 应用程序的 C# 中创建DataTemplate,而无需将模板存储为 XAML 中的资源或从 XAML 字符串加载(这很慢)?

在 WPF 中,可以使用 VisualTree 属性,但这在 WinUI 中不存在。

请注意我已经知道这个问题:How to programatically create a dataContext and assign a grid to it in c# (code behind)这不回答我的

【问题讨论】:

  • 我认为在没有 XAML 的 WinUI(此时)中这是不可能的。它仍然比 WPF 更受限制。
  • @尼克谢谢。这真的很糟糕。我还在想办法,一定有办法,即使它需要一些小技巧。

标签: xaml winui-3 winui


【解决方案1】:

在 WinUI 3 中以编程方式创建DataTemplate 的唯一方法是使用XamlReader.Parse 方法。

与在 WPF 中使用 VisualTree 属性和 FrameworkElementFactory 相比,目前尚不清楚为什么您认为这“非常慢”。也许类型安全性较低且更容易出错,但性能不应该成为问题。

此外,documentation 早就声称使用FrameworkElementFactory"类是一种以编程方式创建模板的过时方法"。推荐的方法是使用XamlReader - 即使在 WPF 中。

【讨论】:

    猜你喜欢
    • 2023-02-25
    • 1970-01-01
    • 2012-06-10
    • 1970-01-01
    • 2016-12-29
    • 2022-10-19
    • 1970-01-01
    • 2011-07-25
    • 2010-12-28
    相关资源
    最近更新 更多