青梅猪马

by LionGG, a GIS Major

 

动态加载XAML文件

Silverlight 2 提供了System.Windows.Markup.XamlReader.Load(string xaml)来动态的创建XAML,但这差不多限于短小的xaml片段创建,若要是从xaml文件直接读取创建,则写一个函数LoadXaml比较现实。

XAML文件本身也是资源,因此资源的Build Action(生成操作)不同,则引用该文件的uri也不同。例如build action为"Resource"时,资源文件嵌入到程序集中;为"Content"时,只打包进.xap中等等,可参考《Silverlight Resource 概览》

代码加注释比描述更能表达意思,参考解决方案资源管理器和运行结果图示。btn1.xaml文件里其实也仅仅拿了个button作为示例:<Button xmlns='http://schemas.microsoft.com/client/2007' Width="60" Height="50" Margin="10" Content="Page"></Button>。btn2.xaml和btn3.xaml只是用Content的不同来显示不同的Build Action。btnRed是用string方式创建的,btnDef则是因为错误的引用xaml文件。page.xaml里有一个名称为sp的StackPanle来承载这些button,别的没有。

Code

 

posted on 2008-10-25 11:33  狮兄  阅读(1802)  评论(1编辑  收藏  举报

导航