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 –