每次ApplyTemplate()时都避免加载XAML

时间:2015-02-11 08:39:05

标签: wpf xaml controltemplate

我正在研究WPF网格的性能改进,并发现ApplyTemplate()调用单元消耗了相当多的资源。每次我们创建一个单元格并将ControlTemplate应用于它时,它会再次加载XAML,尽管我认为这应该缓存在同一个模板中。

Profiling result

这可以节省一次又一次加载XMAL的成本吗?

此外,是否可以构建一个不依赖于XAML的ControlTemplate,但我们可以通过编程方式设置可视化树来提高性能?

更新

我尝试使用代码创建的模板,并通过FrameworkElementFactory完全生成可视化树。分析结果表明,这种方法没有提高性能。

Profiling result with FrameworkElementFactory

似乎每个ApplyTemplate调用中的XAML解析不会花费太多,但可视化树实例化大部分时间都是如此。

0 个答案:

没有答案
相关问题