WPF中Style的使用

简介: 转自博客:    http://blog.csdn.net/liusanchun/article/details/6857558     Styel在英文中解释为”样式“,在Web开发中,css为层叠样式表,自从.net3.0推出WPF以来,WPF也有样式一说,通过设置样式,使其WPF控件外观更加美化同时减少了大量的复杂属性的设置。
转自博客:   
http://blog.csdn.net/liusanchun/article/details/6857558

    Styel在英文中解释为”样式“,在Web开发中,css为层叠样式表,自从.net3.0推出WPF以来,WPF也有样式一说,通过设置样式,使其WPF控件外观更加美化同时减少了大量的复杂属性的设置。

   在WPF中,设置外观样式我们有很多种方式,比如通过设置控件的属性来控制控件的外观样式;或者通过在每一个控件中分别设置Style;或者通过在整个Window.Resource中设置Style,又或者在App.xaml的Application.Resource设置Style。
   在此我们就不讨论第一种方式设置控件的外观了,因为这不涉及到Style的使用。那么后三种设置样式来控制控件的外观有什么区别呢?那么我们来分别讨论吧!
方法一、
通过在每一个控件中分别设置Style来控制控件的外观。
示例代码如下:

  1. Button Content="Button" Height="23" Name="button3" Width="75">
  2.                 Button.Style>
  3.                     Style TargetType="Button">
  4.                         Setter Property="Background" Value="Black" />
  5.                     /Style>
  6.                 /Button.Style>
  7.             /Button>
以上样式的设置只正对当前的Button有效,与其他同种类型的控件无关。

 方法二、通过在Window.Resource中设置Style来控制控件的外观。
推荐使用方法二。

示例代码如下:

  1. Window.Resources>
  2.         Style TargetType="Button">
  3.             Setter Property="Background" Value="LightBlue" />
  4.         /Style>
  5.     /Window.Resources>
    以上样式的设置,针对整个Window的所有Button有效(只要没有单独的对Button设置),这种方法呢,相对于第一种来说减少了代码量。同时修改起来出错的可能性较小!

方法三,通过在App.xaml中的Application.Resource中设置Style来控制控件的外观。
示例代码如下:

  1. Application.Resource>
  2. Style TargetType="Button">
  3.             Setter Property="FontFamily" Value="MS Reference Sans Serif" />
  4.             Setter Property="Background">
  5.                 Setter.Value>
  6.                     LinearGradientBrush StartPoint="0,0" EndPoint="0,1">
  7.                         GradientStop Color="White" Offset="0"/>
  8.                         GradientStop Color="SkyBlue" Offset="0.2"/>
  9.                         GradientStop Color="SkyBlue" Offset="0.8"/>
  10.                         GradientStop Color="White" Offset="1"/>
  11.                     /LinearGradientBrush>
  12.                 /Setter.Value>
  13.             /Setter>
  14.         /Style>
  15. /Application.Resource>
    以上样式的设置,针对整个Application的所有Button有效(只要在Window.Resource或者独立的Button中没有分别设置),这种方法来设置控件的外观样式呢,相对于前两种来说,代码量有大幅的增加,同时呢,在一个应用程序中,往往同种类型的控件的很多属性都是相同的,我们在Applicaiton.Resource进行全局设置,使其维护更加方便!
  好了,以上是我对WPF中Style的理解,希望在我总结的同时,能够给同行们提供帮助,如果发现错误,请积极指正,谢谢!

                       
                   
                       
                   
相关文章
|
C# 前端开发
WPF中Style文件的引用——使用xaml代码或者C#代码动态加载
原文:WPF中Style文件的引用——使用xaml代码或者C#代码动态加载   WPF中控件拥有很多依赖属性(Dependency Property),我们可以通过编写自定义Style文件来控制控件的外观和行为,如同CSS代码一般。
4673 0
|
C#
艾伟:WPF中的Style(风格,样式)
在WPF中我们可以使用Style来设置控件的某些属性值,并使该设置影响到指定范围内的所有该类控件或影响指定的某一控件,比如说我们想将窗口中的所有按钮都保持某一种风格,那么我们可以设置一个Style,而不必分别设置每个按钮的风格。
669 0
|
C#
WPF QuickStart系列之样式和模板(Style and Template)
原文:WPF QuickStart系列之样式和模板(Style and Template) 在WPF桌面程序中,当我们想构建一个统一的UI表现时(在不同操作系统下,显示效果一致),此时我们就需要使用到WPF中的样式和模板技术。
1017 0
|
C#
WPF 自定义Metro Style窗体
原文:WPF 自定义Metro Style窗体 为了使WPF程序在不同版本的操作系统上保持一致的显示效果,我们需要重写WPF控件样式。这篇博客将展示如何创建一个Metro Style的WPF窗体。 首先先看一下最终窗体的效果图, 通过截图我们可以看出来这个窗体由两部分组成,顶部为最小化和关闭按钮,其他区域为窗体的显示区域。
1305 0
[Songqw.Net 基础]WPF插件化中同步Style
原文:[Songqw.Net 基础]WPF插件化中同步Style 版权声明:本文为博主原创文章,未经博主允许可以随意转载 https://blog.csdn.net/songqingwei1988/article/details/50910590 ...
820 0
|
C#
【msdn wpf forum翻译】TextBlock等类型的默认样式(implicit style)为何有时不起作用?
原文:【msdn wpf forum翻译】TextBlock等类型的默认样式(implicit style)为何有时不起作用?原文链接:http://social.msdn.microsoft.com/Forums/en-US/wpf/thread/148e95c6-6fb5-4399-8a56-4...
965 0
|
C# 前端开发
WPF 中style文件的引用
原文:WPF 中style文件的引用 总结一下WPF中Style样式的引用方法: 一,内联样式: 直接设置控件的Height、Width、Foreground、HorizontalAlignment、VerticalAlignment等属性。
940 0
|
移动开发 前端开发 C#
Bootstrap WPF Style,Bootstrap风格的WPF样式
原文:Bootstrap WPF Style,Bootstrap风格的WPF样式 简介 GitHub地址:https://github.com/ptddqr/bootstrap-wpf-style 此样式基于bootstrap-3.
1417 0
|
C#
WPF's Style BasedOn
原文:WPF's Style BasedOn 1 2 3 4 5 6 All Style Based 1 2 3 4 5 6 7 8 9 ...
950 0
|
C#
WPF's Style BasedOn
原文:WPF's Style BasedOn 1 2 3 4 5 6 All Style Based 1 2 3 4 5 6 7 8 9 ...
1488 0