0
我有一個畫布控件,當您將鼠標移動到其上並在鼠標離開時收縮時,它的高度會增加。wpf動畫事件重疊
<Canvas x:Name="infoBar" Width="720" Height="39" Background="Red">
<Canvas.Triggers>
<EventTrigger RoutedEvent="Canvas.MouseEnter">
<BeginStoryboard>
<Storyboard>
<DoubleAnimation
Storyboard.TargetName="infoBar"
Storyboard.TargetProperty="Height"
From="39" To="255" Duration="0:0:0.5"
/>
</Storyboard>
</BeginStoryboard>
</EventTrigger>
<EventTrigger RoutedEvent="Canvas.MouseLeave">
<BeginStoryboard>
<Storyboard>
<DoubleAnimation
Storyboard.TargetName="infoBar"
Storyboard.TargetProperty="Height"
From="255" To="39" Duration="0:0:0.5"
/>
</Storyboard>
</BeginStoryboard>
</EventTrigger>
</Canvas.Triggers>
<StackPanel>
<TextBlock/>
<TextBlock/>
</StackPanel>
</Canvas>
這工作正常。但是,如果發生兩個快速連續事件(在鼠標進入動畫結束之前的mouseleave),它會變得瘋狂。
是否有反正我可以告訴它取消動畫結束前發生的任何其他事件?
謝謝你回答我的問題。但是我不認爲我清楚地解釋了我的問題。我的問題是,當事件真的很快發生時,控制器會停止動畫並快速從最小值跳到最大值。通過從動畫中刪除「From」值來修復它。 – 2010-09-23 15:12:08