1
我想显示按钮的一些动画,然后点击按钮的点击事件。我正在使用以下XAML来实现该功能,但似乎Button.IsPressed
触发器在点击事件后正在被触发。按钮点击WPF动画问题
如何设置触发器,使其在点击事件之前首先显示动画?
<Button x:Name="button"
Width="131"
Height="37"
Content="Button"
Margin="0,0,0,22"
Click="button_Click">
<Button.Style>
<Style TargetType="{x:Type Button}">
<Style.Triggers>
<Trigger Property="Button.IsPressed" Value="True">
<Trigger.ExitActions>
<BeginStoryboard>
<Storyboard>
<DoubleAnimation Storyboard.TargetProperty="Width"
From="130"
To="0"
Duration="0:0:2"/>
</Storyboard>
</BeginStoryboard>
</Trigger.ExitActions>
</Trigger>
</Style.Triggers>
</Style>
</Button.Style>
</Button>
编辑:我试过,但同样的事情。
<EventTrigger RoutedEvent="PreviewMouseLeftButtonDown">
<BeginStoryboard>
<Storyboard>
<DoubleAnimation Storyboard.TargetProperty="Width"
From="130"
To="0"
Duration="0:0:2"/>
</Storyboard>
</BeginStoryboard>
</EventTrigger>
这是数据网格,基本上删除列的按钮。所以在它被删除之前,我想显示一些动画(将按钮的宽度从130更改为0),然后删除整列。动画是完美的,只有一件事是我不得不打电话给它后面的代码后面删除实际的列 –
请参阅更新的内容(编辑) –
这听起来像一个竞争条件。最好在后面的代码中启动动画,并暂停执行,直到故事板完成。如果您不这样做,那么在动画结束之前,该行可能会被删除。我不知道这个目的是正确的事件/覆盖,但你可以尝试OnExecutedDelete –