WPF事件觸發(fā)器基本使用方法介紹
在WPF中,我們可以使用觸發(fā)器來完成一些特定的需求。而對(duì)于WPF觸發(fā)器來說,其中又可以包含許多功能,比如WPF事件觸發(fā)器。#t#
顧名思義是在某個(gè)事件被觸發(fā)時(shí)來調(diào)用這個(gè)觸發(fā)器的相關(guān)操作。因?yàn)閃PF提供了用XAML來標(biāo)記對(duì)象,事件等。
所以其提供了一些在普通.NET開發(fā)中看似沒用的屬性例如IsMouseOver, IsPressed等,這是為了XAML來用的,使其可以很方便的通過某個(gè)屬性來判斷狀態(tài),也方便了Property Trigger的應(yīng)用。
而作為WPF事件觸發(fā)器來說,它所做的事情和Property Trigger類似,不過是它的內(nèi)部不能是簡(jiǎn)單的Setter集合,而必須是TriggerAction的實(shí)例。
以下示例演示了如何應(yīng)用Event Trigger當(dāng)鼠標(biāo)點(diǎn)擊按鈕時(shí),讓按鈕的陰影效果發(fā)生變化。
- < Button Margin="15" Width="200"
Name="myButton">- Click Me to Animate Drop Shadow!
- < Button.BitmapEffect>
- < !-- This BitmapEffect is
targeted by the animation. -->- < DropShadowBitmapEffect
x:Name="myDropShadowBitmapEffect"
Color="Black" ShadowDepth="0" />- < /Button.BitmapEffect>
- < Button.Triggers>
- < EventTrigger RoutedEvent="Button.Click">
- < BeginStoryboard>
- < Storyboard>
- < !-- Animate the movement of the button. -->
- < ThicknessAnimation
- Storyboard.TargetProperty="Margin"
Duration="0:0:0.5"- From="50,50,50,50" To="0,0,50,50"
AutoReverse="True" />- < !-- Animate shadow depth of the effect. -->
- < DoubleAnimation
- Storyboard.TargetName="myDropShadow
BitmapEffect"- Storyboard.TargetProperty="ShadowDepth"
- From="0" To="30" Duration="0:0:0.5"
- AutoReverse="True" />
- < !-- Animate shadow softness of
the effect. As- the Button appears to get farther
from the shadow,- the shadow gets softer. -->
- < DoubleAnimation
- Storyboard.TargetName="myDropSha
dowBitmapEffect"- Storyboard.TargetProperty="Softness"
- From="0" To="1" Duration="0:0:0.5"
- AutoReverse="True" />
- < /Storyboard>
- < /BeginStoryboard>
- < /EventTrigger>
- < /Button.Triggers>
- < /Button>
WPF事件觸發(fā)器的相關(guān)介紹就到這里,希望對(duì)大家有所幫助。