- 浏览: 50191 次
- 性别:
- 来自: 厦门
文章分类
最新评论
Styel在英文中解释为”样式“,在Web开发中,css为层叠样式表,自从.net3.0推出WPF以来,WPF也有样式一说,通过设置样式,使其WPF控件外观更加美化同时减少了大量的复杂属性的设置。
在WPF中,设置外观样式我们有很多种方式,比如通过设置控件的属性来控制控件的外观样式;或者通过在每一个控件中分别设置Style;或者通过在整个Window.Resource中设置Style,又或者在App.xaml的Application.Resource设置Style。
在此我们就不讨论第一种方式设置控件的外观了,因为这不涉及到Style的使用。那么后三种设置样式来控制控件的外观有什么区别呢?那么我们来分别讨论吧!
第一,通过在每一个控件中分别设置Style来控制控件的外观,示例代码如下:
<Button Content="Button" Height="23" Name="button3" Width="75"> <Button.Style> <Style TargetType="Button"> <Setter Property="Background" Value="Black" /> </Style> </Button.Style> </Button>
以上样式的设置只正对当前的Button有效,与其他同种类型的控件无关。
第二,通过在Window.Resource中设置Style来控制控件的外观,示例代码如下:
<Window.Resources> <Style TargetType="Button"> <Setter Property="Background" Value="LightBlue" /> </Style> </Window.Resources>
以上样式的设置,针对整个Window的所有Button有效(只要没有单独的对Button设置),这种方法呢,相对于第一种来说减少了代码量。同时修改起来出错的可能性较小!
第三,通过在App.xaml中的Application.Resource中设置Style来控制控件的外观,示例代码如下:
<Application.Resource> <Style TargetType="Button"> <Setter Property="FontFamily" Value="MS Reference Sans Serif" /> <Setter Property="Background"> <Setter.Value> <LinearGradientBrush StartPoint="0,0" EndPoint="0,1"> <GradientStop Color="White" Offset="0"/> <GradientStop Color="SkyBlue" Offset="0.2"/> <GradientStop Color="SkyBlue" Offset="0.8"/> <GradientStop Color="White" Offset="1"/> </LinearGradientBrush> </Setter.Value> </Setter> </Style> </Application.Resource>
以上样式的设置,针对整个Application的所有Button有效(只要在Window.Resource或者独立的Button中没有分别设置),这种方法来设置控件的外观样式呢,相对于前两种来说,代码量有大幅的增加,同时呢,在一个应用程序中,往往同种类型的控件的很多属性都是相同的,我们在Applicaiton.Resource进行全局设置,使其维护更加方便!
发表评论
-
获取WPF所有控件的模板内容
2013-04-03 15:13 10321. 首先创建XMAL文件 <Windo ... -
委托回调函数的妙用(c# code )
2013-04-03 15:14 1434//person类 public class ... -
DynamicResource与StaticResource的区别
2013-02-20 14:28 0DynamicResource与StaticRes ... -
依赖属性--WPF
2013-02-20 14:27 0/// <summary> / ... -
C#获取文件夹下所有文件
2013-02-20 14:25 0string fileInfo = string.Empty ... -
如何将input type="file"显示的"浏览" 变成英文的?
2013-02-20 14:25 0解决方法: 方法一:使用英文Windows系统(这 ... -
WPF datagrid 弹出右键菜单时先选中该项
2013-02-20 14:23 0privatevoid datagrid_Previ ... -
显示动态的大小写提示框
2013-02-20 14:18 0function detectCapsLock(event) ... -
C# Action<T> 使用
2013-02-20 14:18 0在使用 Action<T> ... -
字符串SubCutString
2013-02-20 14:15 761public static string SubCutStr ... -
正则表达式-关于字符在100以内的字
2013-02-20 14:15 1137^.{0,100} $ 关于字符在100以内的字 ... -
WPF,TextBlock ,ToolTip 显示
2013-02-20 14:14 1154<TextBlock Text="{Bind ... -
后台运行点击事件
2013-02-20 14:13 623button.RaiseEvent(new Route ... -
为你解惑之WPF经典9问详解 .
2013-01-08 15:20 1222第0问:能否简单介绍一 ... -
WPF中DataGrid的使用 .
2013-01-08 15:21 1648DataGrid是WPF中的数据显 ... -
WPF中TreeView的使用 .
2013-01-08 15:21 2183不管是在窗体程序开发还是在web应用程序开发中,大家都知道树这 ... -
浅谈WPF中x名称空间(二) .
2012-04-13 13:43 1179二、x名称空间中的标记 ... -
浅谈WPF中x名称空间(一) .
2012-04-13 13:22 1103不知道各位同行在创建第一个WPF应用程序时,由编译器自动 ...
相关推荐
WPF中Style样式原理分析WPF中Style样式原理分析WPF中Style样式原理分析WPF中Style样式原理分析
本资源实现了一种wpf在style中自定义标题栏无边框窗口的方法。style内部的实现其实没那么简单,尤其是实现按钮逻辑以及拖动逻辑,需要在style中关联cs代码,这就要求我们熟悉绑定技巧、附加属性还有ContentPresenter...
详细又简单的wpf引用外部style样式文件的例子
demo 示例演示如何在wpf 项目中使用style 来设置控件的样式及行为。代码参考深入浅出wpf 书中代码,是书中相关学笔记摘要
WPF中TeeChart的使用案例
WPF listView Style Group listview分组列表显示
wpf 修改style DataTrigger,无法动态修改,只能通过新建解决
WPF 样式 style 滑动开关 实现的效果像checkbo好看的开关一样
bootstrap-wpf-style-master 样式代码 。。。。。。。。
自定义DataGrid的列标题样式,行样式,鼠标悬浮及选择样式。 自定义滚动条样式,包括箭头及滚动区。
在style中定义了一些样式,比如容器的外部样式(比如自定义窗口标题栏,此时窗口是容器,标题栏是外部样式),使用时只能在容器内部放置控件,此时想要在容器的外部样式中添加控件是不行的。但有时候需要在不同的...
WPF中Listbox 的样式,非常美观大方
上一章我们实现了在style中自定义标题栏,解决了复用性的问题。但是在实际使用中,还是存在一些问题的,比如有些界面需要放几个菜单在标题栏或者不需要最大化按钮等,就会变得很不灵活。这时候就需要对style进行...
wpf 实现按钮stylewpf 实现按钮stylewpf 实现按钮stylewpf 实现按钮stylewpf 实现按钮stylewpf 实现按钮style
学习在WPF当中如何使用Style定制TabControl的样式,包含TabControl的页面选项切换的简单动画效果。原始代码网上找的,我改了一些代码。
WPF常用用户控件样式,包括按钮、文本框、下拉框、GridData、树、滚动条等等都进行了精心的设计,拿来即用!里面包含有样式里所需的图标文件哦!
WPF Style property code reading
在style中生成序号,ListBox中的元素的文本标签只需应用style即可。本资源是文章https://blog.csdn.net/u013113678/article/details/120982077的附件资源,包含完整的代码及vs2019项目。
里面包括一个实用的DataGrid Style,可以根据实际情况进行修改
WPF异步定时发送验证码 同时修改button的style样式