WPF学习笔记——27)样式基础

1、样式基础

样式是一种可以应用于元素属性的集合,与css类似。

可以定义通用的格式化的特性集合,在整个应用程序中都可以应用这些样式。

2、使用样式

我们对元素的属性设置可以利用资源,也可以直接利用元素属性,也可以使用样式,我们以设置按钮的字体为例,分别用三个方法对其字体属性进行设置:


    
        Times New Roman
        20
        Bold
        
        
    
    
    
        

我们对按钮一使用资源的方法设置属性,对按钮二使用直接设置元素属性的方法,对按钮三使用样式的方法: 

WPF学习笔记——27)样式基础_第1张图片

3、关联事件处理程序

我们设置一个新的样式,在样式中定义一个鼠标进入和离开的关联事件处理程序。


    
        
    
    
    
        文本1
        文本2
        文本3
    

然后对事件处理程序进行实现,让鼠标进入时背景色发生改变,离开后恢复:

        private void element_MouseEnter(object sender, MouseEventArgs e)
        {
            ((TextBlock)sender).Background = new SolidColorBrush(Colors.LightGreen);
        }

        private void element_MouseLeave(object sender, MouseEventArgs e)
        {
            ((TextBlock)sender).Background = null;
        }

 下面是效果:

WPF学习笔记——27)样式基础_第2张图片

4、多层样式

我们可以在不同层次的元素中定义样式,但是每个元素一次只能使用一个样式。

如果我们想在某个元素上应用多个样式,可以将某个样式作为基础样式,在该样式基础上再进行定义。

比如我们在上文的样式1中对字体的颜色和背景色进行更改,我们创建一个新样式3,基础为样式1:

        

然后对按钮3进行应用,可以看到效果: 

WPF学习笔记——27)样式基础_第3张图片

5、通过类型自动应用样式

如果我们希望不通过代码对每个元素进行样式的应用,而是对某一个类型的所有元素都应用样式.

则我们在定义样式时不设置键值,而是设置TargetType属性,让所有该属性类型的元素都应用该样式:

        

下面是效果:

WPF学习笔记——27)样式基础_第4张图片

如果希望在Button类的某特定的一个元素不应用该样式,则对其Style属性设置为{x:null}即可。 

你可能感兴趣的:(WPF)