Silverlight控件样式相关技巧应用解析

开发 开发工具
Silverlight控件样式的改变可以通过本文介绍的三种方法来实现。对于这三种方法将会给出详细的操作方法,希望会对朋友有所帮助。

Silverlight开发工具是由微软公司推出的一款专门应用于图形及多媒体操作的辅助工具。对于开发人员来说,使用它可以轻松的实现各种以前难以实现的视觉效果。Silverlight控件样式都具有MS为我们赋予的默认样式,虽然这个样式也不怎么难看,但任何产品都很少用这个默认的样式去做***的呈现,所以我们就需要对其进行修改。#t#

 

首先,根据我的了解,我想到的改变控件默认样式的方法有:一、直接在控件本身上写样式;二、定义一个公共的样式标,就像CSS一样;三、运行时样式,前面两个的样式定义好以后就生效了,而运行时样式,只有在程序运行的某一个阶段才会生效。

 

***个方法很简单,我们只需要在XAML中加入希望的样式,或者通过Expression Blend在右侧属性中进行修改就可以了。

当然,我们仍然可以通过编写代码来实现动态的控制控件的样式。

 

 

第二个Silverlight控件样式的改变方法就是通过编辑外部的样式来实现改变的目的。这个方法在参考资料[1]中有详细的描述。

这里,补充一点定义样式的时候关于位置的定义,定义在程序级别 Application ,会将样式写在 App.xaml 中,如果定义在本文档的话,会在页面的上方写入。个人理解就和CSS的文档内写入和外部样式文件类同。

当我们写入 Application 时,标签是这样: < Application.Resources>

当我们写入 Document 时, 标签是这样:< UserControl.Resources>

关于Silverlight控件样式更多的内容,可以在MSDN的资料中看到[2]。
 

第三个方法我是在MSDN上看到的,貌似很强大,因为“属性设置和样式可以更改控件外观的某些方面,但应用新模板可以完全更改控件的外观。尽管模板不能更改控件类型的方法和事件,但它可以更改控件的外观,具体取决于不同的状态,如按下或禁用。使用 XAML 可以定义和设置控件的模板。每个控件都有一个可以替换为自定义模板的默认模板。”。 这就是通过 ControlTemplate 来改变控件的外观。

Cotrol Template 的设置有三种方式:

将 Template 本地设置成内联定义的 ControlTemplate;

将 Template 本地设置成对定义资源的 ControlTemplate 的引用;

用 Style 设置 Template 和 定义 ControlTemplate;

下面分别是三种Silverlight控件样式改变方式的定义方法:

  1. < Button Content="Button1"> 
  2. < Button.Template> 
  3. < ControlTemplate TargetType="Button"> 
  4. < !--Define the ControlTemplate here.--> 
  5. < /ControlTemplate> 
  6. < /Button.Template> 
  7. < /Button>   
  8. < StackPanel> 
  9. < StackPanel.Resources> 
  10. < ControlTemplate TargetType="Button" 
    x:Key="newTemplate"> 
  11. < !--Define the ControlTemplate here.--> 
  12. < /ControlTemplate> 
  13. < /StackPanel.Resources> 
  14. < Button Template="{StaticResource 
    newTemplate}"
     Content="Button1"/> 
  15. < /StackPanel> 
  16. < StackPanel> 
  17. < StackPanel.Resources> 
  18. < Style TargetType="Button"
     x:Key="newTemplate">   
  19. < Setter Property="Template"> 
  20. < Setter.Value> 
  21. < ControlTemplate TargetType="Button"> 
  22. < !--Define the ControlTemplate here.--> 
  23. < /ControlTemplate> 
  24. < /Setter.Value> 
  25. < /Setter> 
  26. < /Style> 
  27. < /StackPanel.Resources> 
  28. < Button Style="{StaticResource
     newTemplate}"
     Content="Button1"/> 
  29. < /StackPanel> 

 

责任编辑:曹凯 来源: 博客园
相关推荐

2010-01-04 14:49:30

Silverlight

2009-12-30 09:55:51

Silverlight

2009-12-29 16:08:41

Silverlight

2009-12-30 18:18:32

Silverlight

2009-12-31 10:21:53

Silverlight

2009-12-30 10:25:03

Silverlight

2009-12-31 11:15:57

Silverlight

2009-12-30 13:30:16

Silverlight

2010-02-26 17:51:16

Silverlight

2009-12-30 16:43:47

Silverlight

2009-12-30 17:29:53

Silverlight

2009-12-30 11:16:36

Silverlight

2009-12-30 13:37:24

Silverlight

2009-12-30 10:15:57

Silverlight

2009-12-30 18:23:13

Silverlight

2009-12-29 17:56:47

Silverlight

2010-01-25 18:27:54

Android进度条

2009-12-31 17:00:40

Silverlight

2010-01-04 14:35:55

Silverlight

2012-02-02 16:32:23

Silverlight控件模型分类
点赞
收藏

51CTO技术栈公众号