XAML的执行方式

执行各层次:界面表示层:以*.xaml文件形式存在;业务逻辑层:以*.xaml.cs文件形式存在;应用程序框架层:Presention Framework 3.0-3.5-4.0;系统层:MSIL和底层API以及操作系统内核。对于单线程模式,对象只能由创建自己的线程调用。XAML的执行方式如下:

WPF编译XAML过程中,XAML编译通常包括三项事情将一个XAML文件转换为一种特殊的二进制格式BAML:Binary Application Markup Language);将转换好的二进制资源嵌入到正在被创建的程序集中然后执行链接操作将XAML和过程式代码自动连接起来。 每个XAML都会在编译过程中产生过程式代码,这是在编译过程中动态生成的,但这些过程代码仅仅是粘合代码”Glue Code,类似于在运行时加载和解析松散XAML文件时所需要的代码(和普通的Win Form自动生成的代码用途类似),可以在.g.cs(.g.vb)文件中找到这些代码。先编译成BAML和过程代码,在BAML中进行静态元素层次和属性设置,运行时执行去创建对象层次,其中内联代码和事件描述在.g.cs文件里;代码经过普通.net编译进程,建立在元数据和MSIL上,最终结果是带有元数据和BAMLEXE或者DLL,动态加载XAML:XamlReader获取要加载的对象(比如说WindowPage等等)动态编译:WPF Assemblies and NamespacesPrimary assembliesWPF三个重要组成:PresentationCorePresentationFrameworkWindowsBase;重要的命名空间是System.Windows(除了System.Windows.Forms)FrameworkElements。对普通用户界面特征的支持包括:Input focusLayoutStylesData bindingResourcesRouted Events等。

阅读更多
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/yangzhenping/article/details/5648590
个人分类: WPF
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭