首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >WinRT / Win8中XAML解析的效率有多高?

WinRT / Win8中XAML解析的效率有多高?
EN

Stack Overflow用户
提问于 2012-11-21 00:39:44
回答 2查看 667关注 0票数 4

创建UserControls时,每次初始化控件时都会解析XAML。

例如,当我创建一个UserControl时,会有自动生成的代码来初始化如下所示的组件:

代码语言:javascript
复制
public void InitializeComponent()
{
    if (_contentLoaded)
        return;

    _contentLoaded = true;
    global::Windows.UI.Xaml.Application.LoadComponent(this, new global::System.Uri("ms-appx:///Views/MyView.xaml"), global::Windows.UI.Xaml.Controls.Primitives.ComponentResourceLocation.Application);

}

这也存在于Silverlight中。

创建一到两次控件并不是什么大不了的事,但是如果我在每个UserControl中都有一个具有可视化状态和绑定的大型可视化树,并且我要在每个应用程序生命周期中多次创建它,那么使用C#构建可视化控件以提高性能是有意义的。

所以,我的问题是:

解析器/框架是否“记住”XAML文件并避免在后续调用时再次解析XAML文件?也就是说,它是否创建了XAML的二进制表示,这样就不必再读一遍文本了?

EN

回答 2

Stack Overflow用户

发布于 2012-11-21 01:10:55

据我理解,XAML被编译成二进制形式,作为应用程序中的资源。运行时不必解析.xaml文件的文本,就像它不必解析.cs代码文件一样。

实例化用XAML声明的类的性能应该与在代码中创建类一样。

票数 0
EN

Stack Overflow用户

发布于 2013-09-08 22:25:20

Windows8.1 xaml最终添加了XAML二进制格式:)

XAML二进制格式:最终签名的appx将不再包含基于文本的标记,因为它将被转换为二进制。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13484621

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档