WPF事件触发器基本使用方法介绍

开发 开发工具
WPF事件触发器的作用就是用来触发一个事件的时候可以调用触发器进行相关的操作,以达到开发人员的目的。下面就来一起看看具体使用方法。

WPF中,我们可以使用触发器来完成一些特定的需求。而对于WPF触发器来说,其中又可以包含许多功能,比如WPF事件触发器。#t#

顾名思义是在某个事件被触发时来调用这个触发器的相关操作。因为WPF提供了用XAML来标记对象,事件等。

所以其提供了一些在普通.NET开发中看似没用的属性例如IsMouseOver, IsPressed等,这是为了XAML来用的,使其可以很方便的通过某个属性来判断状态,也方便了Property Trigger的应用。

而作为WPF事件触发器来说,它所做的事情和Property Trigger类似,不过是它的内部不能是简单的Setter集合,而必须是TriggerAction的实例。

以下示例演示了如何应用Event Trigger当鼠标点击按钮时,让按钮的阴影效果发生变化。

 

  1. < Button Margin="15" Width="200" 
    Name="myButton"> 
  2. Click Me to Animate Drop Shadow!  
  3. < Button.BitmapEffect> 
  4. < !-- This BitmapEffect is 
    targeted by the animation. --
    > 
  5. < DropShadowBitmapEffect 
    x:Name="myDropShadowBitmapEffect" 
    Color="Black" ShadowDepth="0" /> 
  6. < /Button.BitmapEffect> 
  7. < Button.Triggers> 
  8. < EventTrigger RoutedEvent="Button.Click"> 
  9. < BeginStoryboard> 
  10. < Storyboard> 
  11. < !-- Animate the movement of the button. --> 
  12. < ThicknessAnimation 
  13. Storyboard.TargetProperty="Margin" 
    Duration="0:0:0.5"   
  14. From="50,50,50,50" To="0,0,50,50" 
    AutoReverse="True" /> 
  15. < !-- Animate shadow depth of the effect. --> 
  16. < DoubleAnimation 
  17. Storyboard.TargetName="myDropShadow
    BitmapEffect"
     
  18. Storyboard.TargetProperty="ShadowDepth" 
  19. From="0" To="30" Duration="0:0:0.5" 
  20. AutoReverse="True" /> 
  21. < !-- Animate shadow softness of 
    the effect. As   
  22. the Button appears to get farther 
    from the shadow,   
  23. the shadow gets softer. --> 
  24. < DoubleAnimation 
  25. Storyboard.TargetName="myDropSha
    dowBitmapEffect"
     
  26. Storyboard.TargetProperty="Softness" 
  27. From="0" To="1" Duration="0:0:0.5" 
  28. AutoReverse="True" /> 
  29. < /Storyboard> 
  30. < /BeginStoryboard> 
  31. < /EventTrigger> 
  32. < /Button.Triggers> 
  33. < /Button> 


WPF事件触发器的相关介绍就到这里,希望对大家有所帮助。

责任编辑:曹凯 来源: 博客园
相关推荐

2010-05-04 09:44:12

Oracle Trig

2009-12-25 17:10:51

WPF动态资源

2009-12-23 17:49:28

WPF触发器

2009-12-24 16:36:06

WPF InkCanv

2010-10-12 10:24:58

mysql触发器

2009-12-24 17:30:39

WPF数据触发器

2009-12-24 17:24:21

WPF属性触发器

2009-12-24 17:19:13

WPF触发器

2009-12-28 13:28:03

WPF视频

2010-10-11 14:52:43

Mysql触发器

2010-04-23 12:50:46

Oracle触发器

2009-12-24 17:52:05

WPF触发器

2022-04-12 08:24:28

Zabbix事件通知触发器

2009-12-25 17:33:19

WPF TextBlo

2010-05-18 15:58:39

MySQL触发器

2011-05-20 14:06:25

Oracle触发器

2009-12-25 17:58:12

WPF进度条

2009-04-07 13:56:03

SQL Server触发器实例

2010-10-12 10:10:55

mysql触发器

2010-09-01 16:40:00

SQL删除触发器
点赞
收藏

51CTO技术栈公众号