使用silverlight构建一个工作流设计器(十)
[System.Diagnostics.DebuggerNonUserCodeAttribute()] public void InitializeComponent() { if (_contentLoaded) { return; } _contentLoaded = true; System.Windows.Application.LoadComponent(this, new System.Uri("/ShareDesigner;component/SilverlightControl1.xam", System.UriKind.Relative)); this.LayoutRoot = ((System.Windows.Controls.Grid)(this.FindName("LayoutRoot"))); } } } 可以看出,这个是vs.net自动生成的代码,这个类的声明方式和类名称都和我们的SilverlightControl1.cs相同,也就是说,这两个文件在系统编译时将生成同一个类。我们特别注意一下InitializeComponent函数内的代码。
这行代码表示根据指定的文件定位符动态载入一个xaml文件,并将生成的对象赋给xaml文件的根元素(在本例中是一个UserContro)。第二行代码
表示从xmal生成的用户控件中找到名称为LayoutRoot的的Grid对象,并赋给类的内部变量LayoutRoot。正是这一段代码,我们才可以在SilverlightControl1.cs中直接使用LayoutRoot这个变量名称,并且这个变量指向xmal文件中的名称为LayoutRoot的Grid对象。 如果您熟悉asp.net forums(国外的一个开源的论坛),那么这种方式您一定很熟悉了,在asp.net froums中大量使用了这种技术来支持更换皮肤,现在我们了解了xaml的构造方式,也可以使用这种技术写出支持变换皮肤的silverlight程序了。 变化皮肤技术经常出现在一些程序中,但实现方式原理有几种。其中一种是通过css来实现皮肤改变,但这种方式有一定的局限性。上文中分析的皮肤变换技术比css的实现要好一点。在下面的章节中,将使用这种技术。 |
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |