EventTrigger激发后触发器未激发
本文关键字:触发器 EventTrigger | 更新日期: 2023-09-27 18:27:45
所以我试图制作一个按钮,当鼠标悬停在/out/down/up上时会改变图像。。。。
并提出了以下内容:
<Image>
<Image.Style>
<Style TargetType="{x:Type Image}">
<Style.Triggers>
<Trigger Property="IsEnabled" Value="True">
<Setter Property="Source" Value="/MyWPF;component/Resources/MediaPlayer/Play-Normal-icon.png"/>
</Trigger>
<Trigger Property="IsMouseOver" Value="True">
<Setter Property="Source" Value="/MyWPF;component/Resources/MediaPlayer/Play-Pressed-icon.png"/>
</Trigger>
<Trigger Property="IsMouseOver" Value="False">
<Setter Property="Source" Value="/MyWPF;component/Resources/MediaPlayer/Play-Normal-icon.png"/>
</Trigger>
<Trigger Property="IsEnabled" Value="False">
<Setter Property="Source" Value="/MyWPF;component/Resources/MediaPlayer/Play-Disabled-icon.png"/>
</Trigger>
<EventTrigger RoutedEvent="MouseDown">
<EventTrigger.Actions>
<BeginStoryboard>
<Storyboard>
<ObjectAnimationUsingKeyFrames BeginTime="00:00:00" Storyboard.TargetProperty="Source" Duration="00:00:00.5">
<DiscreteObjectKeyFrame KeyTime="00:00:00">
<DiscreteObjectKeyFrame.Value>
<BitmapImage UriSource="/MyWPF;component/Resources/MediaPlayer/Play-Hot-icon.png"/>
</DiscreteObjectKeyFrame.Value>
</DiscreteObjectKeyFrame>
</ObjectAnimationUsingKeyFrames>
</Storyboard>
</BeginStoryboard>
</EventTrigger.Actions>
</EventTrigger>
<EventTrigger RoutedEvent="MouseUp">
<EventTrigger.Actions>
<BeginStoryboard>
<Storyboard>
<ObjectAnimationUsingKeyFrames BeginTime="00:00:00" Storyboard.TargetProperty="Source" Duration="00:00:00.5">
<DiscreteObjectKeyFrame KeyTime="00:00:00">
<DiscreteObjectKeyFrame.Value>
<BitmapImage UriSource="/MyWPF;component/Resources/MediaPlayer/Play-Normal-icon.png"/>
</DiscreteObjectKeyFrame.Value>
</DiscreteObjectKeyFrame>
</ObjectAnimationUsingKeyFrames>
</Storyboard>
</BeginStoryboard>
</EventTrigger.Actions>
</EventTrigger>
</Style.Triggers>
</Style>
</Image.Style>
</Image>
这只鼠标非常好用。
但一旦我点击鼠标(向下),EventTriggers启动,我就可以看到图像发生了变化。
释放鼠标点击(向上),EventTriggers再次启动,我可以看到图像变回了假设的方式。
现在我把鼠标移到图像上。它不再改变形象。。。。
但当我做鼠标向下/向上仍然有效。。。
所以我在猜测EventTrigger在某种程度上超过了IsMouseOver触发器?
EventTrigger是否会覆盖其他触发器?
附言:对于那些阅读了我之前的问题的人,很抱歉,我不知道问题是由数据绑定中的按钮被禁用引起的。
这是因为依赖属性值优先,要么更改其他触发器以产生单帧动画,要么使动画不保持其值。