Silverlight主题应用小结

本文介绍如何使用SilverlightToolKit和ResourceDictionary为Silverlight程序添加预设主题,包括TwilightBlue等,实现美观的用户界面。
摘要:本文总结了通过Silverlight ToolKit和ResourceDictionary使用Silverlight主题的方式。
注:本文使用的IDE是vs.net 2010 Ultimate SP1;Silverlight版本为4;Silverlight Toolkit使用的是Silverlight_4_Toolkit_April_2010.msi安装包。从 http://silverlight.codeplex.com/可以获得Silverlight Toolkit的安装文件。通过下面的链接能够访问Toolkit的演示页面: http://silverlight.net/content/samples/sl4/toolkitcontrolsamples/run/default.html
 
Silverlight在当初发布时就已酷炫的用户界面吸引了很多人的关注,很多人也因此开始加入了Silverlight开发的团队中。但是对于大部分开发人员来说想要做出一些比较好看的界面是比较困难的。不过幸好有一些现成的主题供我们使用,美化我们的界面。
一、使用Silverlight ToolKit应用主题
我们可以访问Silverlight Toolkit的演示页面选择Theme Browser查看我们想要的主题样式。例如我们想使用TwilightBlue主题。
新建一个Silverlight Application项目,选择Silverlight的版本为4,使用asp.net承载。右键Silverlight程序中的References选择添加引用。
打开添加引用对话框,找到我们想要使用主题的引用:System.Windows.Controls.Theming.TwilightBlut。这里注意还要引用System.Windows.Controls.Theming.Toolket,否则使用主题时会报错。
在我们想要使用主题的页面中(例如MainPage.xaml)引用刚才添加的两个主题,语句如下:
xmlns:twilightblue="clrnamespace:System.Windows.Controls.Theming;assembly=System.Windows.Controls.Theming.TwilightBle"
然后我们就能在xaml文件中写出下面这一对标签:
<twilightblue:TwilightBlueTheme></twilightblue:TwilightBlueTheme>
注意:这个标签中只能包含一个子元素,所以我们需要将要应用主题的元素放在一个布局元素内(例如StackPanel),再将这个布局元素放入上述标签内,这样就能应用主题效果了,运行效果如下图:
 
 
 代码如下:

 
ContractedBlock.gif ExpandedBlockStart.gif View Code

   
1 < twilightblue:TwilightBlueTheme >
2 < StackPanel Width = " 500 " HorizontalAlignment = " Left " >
3 < TextBlock FontWeight = " Bold " FontSize = " 20 " Foreground = " White " > Silverlight Toolkit Theme </ TextBlock >
4 < TextBlock > © April 2010 TwilightBlueTheme </ TextBlock >
5 < TextBlock > Installed Chapters: </ TextBlock >
6 < ListBox >
7 < ListBoxItem > Chapter 1 </ ListBoxItem >
8 < ListBoxItem > Chapter 2 </ ListBoxItem >
9 </ ListBox >
10 < StackPanel Orientation = " Horizontal " HorizontalAlignment = " Center " >
11 < Button MinWidth = " 10 " Margin = " 10 " Width = " 100 " > Help </ Button >
12 < Button MinWidth = " 10 " Margin = " 10 " Width = " 100 " > OK </ Button >
13 </ StackPanel >
14 < TextBlock > You have successfully registered this product. </ TextBlock >
15 </ StackPanel >
16 </ twilightblue:TwilightBlueTheme >
这样我们就可以选择我们喜欢的主题来美化我们的Silverlight程序了。
二、使用ResourceDictionary导入主题
通过ResourceDictionary我们可以导入已经用xaml文件写好的主题。
SL4Themes-RawAssets.zip压缩包中包含了4个主题(AccentColor,Cosmopolitan, JetPack, Windows7)文件。下面是四个主题使用效果的链接:
这四个主题能应用于普通控件,SDK控件和Toolkit控件。
SL4Themes-templates.zip压缩包中包含了应用四个主题的Silverlight Navigation程序。
下面来看一下如何使用这些主题。
在Silverlight程序中建立一个文件夹叫“Assets”,在这个文件夹内包含我们使用的主题文件,如下图所示:
2011041120253580.jpg
在App.xaml文件中引入我们的主题文件,代码如下:
ContractedBlock.gif ExpandedBlockStart.gif View Code

    
1 < Application.Resources >
2 < ResourceDictionary >
3 < ResourceDictionary.MergedDictionaries >
4 < ResourceDictionary Source = " Assets/Styles.xaml " />
5 < ResourceDictionary Source = " Assets/CoreStyles.xaml " />
6 < ResourceDictionary Source = " Assets/SDKStyles.xaml " />
7 < ResourceDictionary Source = " Assets/ToolkitStyles.xaml " />
8 </ ResourceDictionary.MergedDictionaries >
9 </ ResourceDictionary >
10 </ Application.Resources >
如果程序中没有使用SDK控件或Toolkit控件,SDKStyles.xaml和ToolkitStyles.xaml就不用引入了。
注意:引入文件后在编译程序时会报,找不到控件的错误,这是由于我们的程序没有添加对这些命名空间的引用,我们添加引用后,就能编译通过了。或者把报错的文件从项目中移除。
这样,我们的程序中的所有控件就会变成对应主题的样式。这种主题的使用方式不像Toolkit那样,必须包含在对应的标签内才能生效。但Toolkit可以在同一个程序中使用多种主题。
以上就是对Silverlight主题使用的一个小小的总结,希望能提供一些帮助。

转载于:https://www.cnblogs.com/shenyuelan/archive/2011/04/11/2012866.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值