<Window.Resources>
<FontFamily x:key="ButtonFontFamily">Time New Roman</FontFamily>
<sys:Double x:key="ButtonFontSize">18</s:Double>
<FontWeight x:key="ButtonFontWeight">Bold</FontWeight>
</Window.Resources>

1:资源里定义了三个资源,分别设置对象属性
接下来应用资源:

<Button FontFamily="{StaticResource ButtonFontFamily}"
FontWeight=="{StaticResource ButtonFontWeight}"
FontSize=="{StaticResource ButtonFontSize}"
</Button>

2:另一种方式:(WPF中的一个元素都可以使用一个样式,只能使用一个样式)

创建一个独立的资源:

<Window.Resources>
<Style x:key="BigFontButtonStyle">
<setter Property="control.FontFamily" Value="Tinmes New Roman"/>
<Setter Property="control.FontSize" Value="18"/>
<Setter Property="control.FontWeight" Value="Bold"/>
</Style>
</Window.Resources>

应用这个独立的样式资源

<Button Sytle="{StaticResource BigFontButtonStyle}">a Customized</Button>

Style类的属性:
Setters:设置属性值并自动关联事件处理程序的Sette对象或EventSetter对象的集合

Triggers:能够自动改变样式设置的对象集合

Resources

BasedOn:通过该属性可以创建继承其他样式设置的更复杂样式

TargetType:该属性表示应用样式的元素的类型

3:关联的事件处理程序

<Style x:key="MouseOverHighLightStyle">
<EventSetter Event="TextBlock.MouseEnter" Handler="element_MouseEnter"/>
<EventSetter Event=="TextBlock.MouseLeave" Handler="element_MouseLeave"/>
<Setter Property=TextBlock.Padding" Value="5"/>
</Style>
private void element_MouseEnter(object sender,MouseEventArgs e)
{ ((TextBlock)Senter.Background=new SolidColorBrush(Colors.LightGoldenrodYellow); }

事件element_MouseLeave同样的道理

接下来应用给样式;

<Textklock Style="{StaticResouce MouseOverHightStyle}"> Hover Over me</Textklock >

4:简单触发器

<Style x:key="BigFontButton">
<Style.Setters>
<Setter Property="Control.FontFamily" Value="Time NEw Roman"/>
<Setter Property="Control.FontSize" Value="18"/>
</Style.Setters> <Style.Triggers>
<Triggers Property="Control.IsFocused" Value="True">
<Setter Property="Control.Foreground" Value="darkRed"/>
</Style.Triggers>
</Style>
也可以定义多个触发器

5:比较复杂的,这里用到了”行为“:

<Style x:Key="OuterGlowStyle" TargetType="{x:Type FrameworkElement}">
<Style.Triggers>
<Trigger Property="IsFocused" Value="True">
<Setter Property="Effect">
<Setter.Value>
<DropShadowEffect BlurRadius="10" Color="Black" Direction="0" Opacity="0.6"
RenderingBias="Performance" ShadowDepth="0"/>
</Setter.Value>
</Setter>
</Trigger>
<Trigger Property="IsMouseOver" Value="True">
<Setter Property="Effect">
<Setter.Value>
<DropShadowEffect BlurRadius="10" Color="Black" Direction="0" Opacity="0.6"
RenderingBias="Performance" ShadowDepth="0"/>
</Setter.Value>
</Setter>
</Trigger>
</Style.Triggers>
</Style>

6:RelativeSource相对路径

StaticSource绝对路径

ElementSource通常绑定某个控件的Value

WPF样式和资源2的更多相关文章

  1. Bootstrap WPF Style,Bootstrap风格的WPF样式

    简介 GitHub地址:https://github.com/ptddqr/bootstrap-wpf-style 此样式基于bootstrap-3.3.0,样式文件里的源码行数都是指的这个版本.CS ...

  2. WPF 样式和行为

    样式(style):组织和重用格式化选项的重要工具,将细节如边距.字体.字号等信息封装起来,然后再需要的地方通过属性来应用样式. 行为(behavior):封装一些通用的UI行为,如拖动,缩放元素的代 ...

  3. WPF学习之资源-Resources

    WPF学习之资源-Resources WPF通过资源来保存一些可以被重复利用的样式,对象定义以及一些传统的资源如二进制数据,图片等等,而在其支持上也更能体现出这些资源定义的优越性.比如通过Resour ...

  4. WPF中的资源简介、DynamicResource与StaticResource的区别(转)

    什么叫WPF的资源(Resource)?资源是保存在可执行文件中的一种不可执行数据.在WPF的资源中,几乎可以包含图像.字符串等所有的任意CLR对象,只要对象有一个默认的构造函数和独立的属性. 也就是 ...

  5. C#工具:Bootstrap WPF Style,Bootstrap风格的WPF样式

    简介 GitHub地址:https://github.com/ptddqr/bootstrap-wpf-style 此样式基于bootstrap-3.3.0,样式文件里的源码行数都是指的这个版本.CS ...

  6. WPF样式(Style)入门

    原文:WPF样式(Style)入门 版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/qq_34802416/article/details/78231 ...

  7. WPF - 样式 (转)

    本文目录 1.引言 2.怎样使用样式? 3.内联样式 4.已命名样式 5.元素类型样式 6.编程控制样式 7.触发器 1.引言 样式(Style),主要是用来让元素或内容呈现一定外观的属性.WPF中的 ...

  8. WPF样式学习三

    SnapsToDevicePixels 获取或设置在呈现过程,该值来确定呈现此元素是否应使用特定于设备的像素设置. 这是一个依赖项属性. true ,如果元素应以符合呈现到设备像素;否则, false ...

  9. 《深入浅出WPF》笔记——资源篇

    原文:<深入浅出WPF>笔记--资源篇 前面的记录有的地方已经用到了资源,本文就来详细的记录一下WPF中的资源.我们平时的“资源”一词是指“资财之源”,是创造人类社会财富的源泉.在计算机程 ...

随机推荐

  1. [转]SGI STL 红黑树(Red-Black Tree)源代码分析

    STL提供了许多好用的数据结构与算法,使我们不必为做许许多多的重复劳动.STL里实现了一个树结构-Red-Black Tree,它也是STL里唯一实现的一个树状数据结构,并且它是map, multim ...

  2. POJ 3254 状压DP

    题目大意: 一个农民有一片n行m列 的农场   n和m 范围[1,12]  对于每一块土地 ,1代表可以种地,0代表不能种. 因为农夫要种草喂牛,牛吃草不能挨着,所以农夫种菜的每一块都不能有公共边. ...

  3. php生成短网址的思路与方法

    生成短网址的思路以及使用php生成短网址的实现方法. 生成短网址的思路:如果把短网址还原了,你知道是个什么样子的吗?比如:http://www.jbxue.com/sitejs-17300-1.htm ...

  4. Oracle数据库之PL/SQL异常处理

    Oracle数据库之PL/SQL异常处理 异常指的是在程序运行过程中发生的异常事件,通常是由硬件问题或者程序设计问题所导致的. PL/SQL程序设计过程中,即使是写得最好的程序也可能会遇到错误或未预料 ...

  5. @NotNull丶@NotBlank丶@NotEmpty

    1.@NotNull:不能为 Null,但是可以为Empty:用在基本数据类型上. @NotNull(message="{state.notnull.valid}", groups ...

  6. Nginx常用Rewrite伪静态法则

    信赖此刻大部门用Linux VPS的伴侣都在利用这个敏捷传布的Nginx,本日就清算一下最常见的PHP法式的Rewrite(伪静态法则). Wordpress: location / {index i ...

  7. c# windows 服务学习

    用C#做windows服务变得简单对了===按照下面步骤来就行了 用C#创建Windows服务(Windows Services)例子服务功能:这个服务在启动和停止时,向一个文本文件中写入一些文字信息 ...

  8. C#7.0

    C#7.0中有哪些新特性? 以下将是 C# 7.0 中所有计划的语言特性的描述.随着 Visual Studio “15” Preview 4 版本的发布,这些特性中的大部分将活跃起来.现在是时候来展 ...

  9. A basic Windows service in C++ (CppWindowsService)

    A basic Windows service in C++ (CppWindowsService) This code sample demonstrates creating a basic Wi ...

  10. Linux企业级项目实践之网络爬虫(28)——爬虫socket处理

    Socket是进程之间交换数据的机制.这些进程即可以是同一台机器上的,也可以是通过网络连接起来的不同机器.一旦一个Socket连接建立,那么数据就能够双向传输,直到其中一端关闭连接. 通常,请求数据的 ...