如何在 WinUI 应用程序中用 C# 创建
DataTemplate
,而不将模板存储为 XAML 中的资源或从 XAML 字符串加载(这非常慢)?
在 WPF 中,可以使用
VisualTree
属性,但这在 WinUI 中不存在。
请注意,我已经知道这个问题:如何以编程方式创建 dataContext 并在 c# 中为其分配网格(代码隐藏) 这不会回答我的问题
在 WinUI 3 中以编程方式创建
DataTemplate
的唯一方法是使用 XamlReader.Load 方法。
不清楚为什么您认为与使用
VisualTree
属性和 WPF 中的 FrameworkElementFactory
相比“非常慢”。类型安全性较差,可能更容易出错,但性能不应该成为问题。
此外,文档长期以来声称使用
FrameworkElementFactory
“类是一种已弃用的以编程方式创建模板的方法”。推荐的方法是使用 XamlReader
- 即使在 WPF 中也是如此。