WPF依赖属性

本文围绕Visual Studio 2015展开,介绍了使用依赖属性实现按钮样式触发,如鼠标移入时按钮前景色变红,且无需额外处理鼠标移出恢复颜色。还展示了用后台代码实现相同效果,定义鼠标移入和移出事件改变按钮字体颜色,此外提及依赖属性的属性值继承。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

开发工具与关键技术:Visual Studio 2015

作者:王成

撰写时间:2019年5月1日

使用依赖属性:

<Grid>

<Button Height="30" Width="200" Content="鼠标移动到上面,前景色变为红色">

<Button.Style>

//定义按钮样式

<Style TargetType="Button">

//样式触发

<Style.Triggers>

//鼠标移入移出触发

<Trigger Property="IsMouseOver" Value="true">

<Setter Property="Foreground" Value="Red"></Setter>

</Trigger>

</Style.Triggers>

</Style>

</Button.Style>

</Button>

</Grid>

 

在判断属性IsMouseOver的值为false的时候,自动将Foreground的值改为之前的值,因此就不需要写IsMouseOver的值为false的时候,将Foreground的值改为Black

 

 

 

 

 

用后台代码实现相同效果:

定义两个事件:

(1)鼠标移入:

private void Button_MouseEnter(object sender, MouseEventArgs e)

{

    //声明一个按钮变量,等于窗口按钮

Button btn = sender as Button;

//判断按钮不为空

if (btn != null)

{

        //改变字体颜色为红色

btn.Foreground = Brushes.Red;

}

}

(2)鼠标移出:

private void Button_MouseLeave(object sender, MouseEventArgs e)

{

Button btn = sender as Button;

if (btn != null)

{

//改变字体颜色为黑色

btn.Foreground = Brushes.Black;

}

}

原按钮图:

效果图:

 

 

 

 

依赖属性的属性值继承:

<Window.Style>

<Style TargetType="Window">

<Style.Triggers>

<Trigger Property="IsMouseOver" Value="true">

<Setter Property="FontSize" Value="22"></Setter>

</Trigger>

</Style.Triggers>

</Style>

</Window.Style>

<Grid>

<Button Height="30" Width="200" Content="字体变大"/>

</Grid>

 

 

原按钮:

继承窗口属性后鼠标移入的按钮:

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值