如何在C#中的WinUI中创建DataTemplate?

问题描述 投票:0回答:1

如何在 WinUI 应用程序中用 C# 创建

DataTemplate
,而不将模板存储为 XAML 中的资源或从 XAML 字符串加载(这非常慢)?

在 WPF 中,可以使用

VisualTree
属性,但这在 WinUI 中不存在。

请注意,我已经知道这个问题:如何以编程方式创建 dataContext 并在 c# 中为其分配网格(代码隐藏) 这不会回答我的问题

xaml winui-3 winui
1个回答
3
投票

在 WinUI 3 中以编程方式创建

DataTemplate
的唯一方法是使用 XamlReader.Load 方法。

不清楚为什么您认为与使用

VisualTree
属性和 WPF 中的
FrameworkElementFactory
相比“非常慢”。类型安全性较差,可能更容易出错,但性能不应该成为问题。

此外,文档长期以来声称使用

FrameworkElementFactory
类是一种已弃用的以编程方式创建模板的方法”。推荐的方法是使用
XamlReader
- 即使在 WPF 中也是如此。

© www.soinside.com 2019 - 2024. All rights reserved.