WPF中的依赖属性
开发工具与关键技术:Visual Studio 2015、WPF
作者:郑伟基
撰写时间:2019年5月14日
下面看WPF中的依赖属性,依赖属性是一种自己本身没有值,但可以通过绑定从其他数据哪里获取值,依赖属性可以支持WPF中的样式中设置样式属性、可以在属性上进行数据绑定、可以继承原有的属性值、也可以进行动画的处理,依赖属性的值发生改变的时候,WPF就会根据属性的数据发生一系列的改变,而这些可以呈现新的UI元素,也可以更新当前的布局,也会刷新数据绑定等等。
下面是XAML代码:
<Window x:Class="依赖属性.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
WindowStartupLocation="CenterScreen"
Title="依赖属性" Height="350" Width="525">
<!--网格布局-->
<Grid>
<!--定义一个按钮-->
<Button MaxHeight="100" MaxWidth="300" Content="将鼠标移到按钮上面">
<!--按钮里面的Style属性-->
<Button.Style>
<Style TargetType="Button">
<!--定义一个触发器:Triggers-->
<Style.Triggers>
<!--鼠标移进移出发生变化-->
<Trigger Property="IsMouseOver" Value="true">
<!--字体的前景色-->
<Setter Property="Foreground" Value="Red"></Setter>
<!--文字的字体-->
<Setter Property="FontFamily" Value="华文楷体"></Setter>
<!--文字的大小-->
<Setter Property="FontSize" Value="30"></Setter>
<!--边框的粗度-->
<Setter Property="BorderThickness" Value="10"></Setter>
</Trigger>
</Style.Triggers>
</Style>
</Button.Style>
</Button>
</Grid>
</Window>
在上面的代码中看到我首先用了网格布局,在布局里面定义一个按钮,在这个按钮里面用来依赖属性,然后去定义了一个触发器来触发按钮的鼠标移入移出的一个事件,鼠标移入的时候改变按钮的一些样式,在里面写了几个按钮的样式。
见下面的效果截图:
图(1)是海没有改变之前的按钮样式。
图(1)
下面图(2)是上面图(1)改变之后的样子。
图(2)
在上面用了按钮的依赖属性,再去设置按钮里面Style属性,再去定义了鼠标移入移出的鼠标事件。