【发布时间】:2015-08-30 18:49:06
【问题描述】:
我有以下 XAML 用于使用路由事件的边框触发器
<Border.Triggers>
<EventTrigger RoutedEvent="MouseLeftButtonUp" EnterActions="">
<BeginStoryboard>
<Storyboard>
<ObjectAnimationUsingKeyFrames BeginTime="0" Duration="0:0:0.4" Storyboard.Target="{Binding ElementName=messageWriterDefinition}" Storyboard.TargetProperty="Height">
<DiscreteObjectKeyFrame >
<DiscreteObjectKeyFrame.Value>
<GridLength>20</GridLength>
</DiscreteObjectKeyFrame.Value>
</DiscreteObjectKeyFrame>
...
</ObjectAnimationUsingKeyFrames>
</Storyboard>
</BeginStoryboard>
</EventTrigger>
</Border.Triggers>
当点击边框和包含元素时触发此触发器,并且动画会导致目标动画从零高度打开到 200
触发器工作得很好,但每次边框收到事件时动画都会运行并且目标动画会再次打开(即使已经打开)
如何向触发器添加一个有效忽略动画的条件是目标的高度已经大于零?
【问题讨论】:
标签: wpf storyboard wpf-controls routed-events