微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

跟互联力量学Silverlight之四:XAML资源的用法

本篇讲解 XAML的资源的使用。我们首先回忆在跟互联力量学 Silverlight之三_XAML的属性和事件一文中,使用GradientBrush绘制了Grid的背景颜色,本篇用资源的方式来扩展前文的样式的应用,首先 把LinearGradinetBrush放到UserControl的复合属性Resources里面,如下:

最重要的是, 使用了x:key属性(有关x:key请参考XAML是什么),表 示这个Brush在资源集合中的索引键。接下来,在Grid中使用这个x:key,给background属性使用资源,如: <Grid x:Name=”grid1″ Background=”{StaticResource brush1}”>….</Grid>,在VS2010的设计里面看效果如下:

互联力量-.net-跟互联力量学Silverlight之四:XAML资源的用法-图2

图2

显示效果可 以看出,用资源的方式也可以定义外观,你可能会说这有什么作用呢,分析,如果现在页面上有多个元素,要使用同一种样式,很明显只用把样式定义一次,提供每 个元素引用就可以了,这个概念类似CSS。接着,在页面上放两个按钮,我们让按钮都有渐变的背景效果,如下:

互联力量-.net-跟互联力量学Silverlight之四:XAML资源的用法-图3

图3

实现上图的完 整XAML代码如下:

你理解了上面 的内容,得出结论,用Resources实现了同种样式应用在多个的元素上,现在我们讨论第二种现象,如果这两个Button不在同一页面,那这种效果还 可以实现吗,显然是不能的,所以我们把LinearGradinetBrush放到所有页面可以共享的地方:app.xaml里面。

解决方案打 开app.xaml,看到认的模板已经准备好了<Application.Resources>标记,现在直接把前步骤写好的内容,帖进 去,如下:

把图4里面 的<StackPanel.Resources>代码删除,运行后的效果和图3相同,这样实现了在多个页面中使用同一样式资源。

小结,本文分 析了同一页面多个元素,不同页面多个元素使用资源的方法,文中提到的有关Silverlight样式,在后续有专门的内容详细讲解。版权所有 互联力量,原文出自:http://www.foxitjob.com/2010/06/329.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐