WPF触发器

触发器可以理解为,当达到了触发的条件,那么就执行预期内的响应,可以是样式、数据变化、动画等。

触发器通过Style.Triggers集合连接到样式中,每个样式都可以有任意多个触发器,并且每个触发器都是System.Windows.TriggerBase的派生类实例,以下是触发器的类型:

Trigger :监测依赖属性的变化,触发器生效

例如(鼠标移入改变颜色和大小):

<Style.Triggers>
    //移入改变样式
    <Trigger Property="IsMouseOver" Value="True" >
        <Setter Property="Foreground" Value="Blue" />
        <Setter Property="FontSize" Value="20" />
    </Trigger>

    //移出恢复样式
    <Trigger Property="IsMouseOver" Value="False" >
        <Setter Property="Foreground" Value="red" />
        <Setter Property="FontSize" Value="15" />
    </Trigger>
</Style.Triggers>

MultiTrigger :通过多个条件的设置,达到满足条件,触发器生效

例如(鼠标移入并且获得焦点时改变颜色):

<MultiTrigger>
    <MultiTrigger.Conditions>
        <Condition Property="IsMouseOver" Value="true" />
        <Condition Property="IsFocused" Value="true" />
    </MultiTrigger.Conditions>

    <MultiTrigger.Setters>
        <Setter Property="Background" Value="Pink"
    </MultiTrigger.Setters>
</MultiTrigger>

DataTrigger :通过数据的变化,触发器生效

例如(数据触发器绑定到输入框的内容上,监测输入框的文本内容,做出响应):

<DataTrigger Binding="{Binding RelativeSource={RelativeSource Mode=Self},Path=Text}"  Value="123">
    <Setter Property="BackGround"  Value="Green" />
</DataTrigger>

MultiDataTrigger :多个数据条件的触发器

EventTrigger :事件触发器,触发了某类事件时,触发器生效

ps:自用勿喷

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值