我想在用户点击时制作一些动画。 所以我设置了以下样式并将其设置在我的网格上 - 但MouseUp Animation不起作用。
<Style x:Key="AnimatedButton" TargetType="Grid">
<Style.Triggers>
<EventTrigger RoutedEvent="MouseDown">
<BeginStoryboard>
<Storyboard>
<DoubleAnimation Duration="00:00:0.1" From="1.0" To="0.8" Storyboard.TargetProperty="Opacity" />
</Storyboard>
</BeginStoryboard>
</EventTrigger>
<EventTrigger RoutedEvent="PreviewMouseUp">
<BeginStoryboard>
<Storyboard>
<DoubleAnimation Duration="00:00:0.1" From="0.8" To="1.0" Storyboard.TargetProperty="Opacity" />
</Storyboard>
</BeginStoryboard>
</EventTrigger>
</Style.Triggers>
</Style>
答案 0 :(得分:0)
那太难了! 样式化网格是UserControl的一部分。
现在,此UserControl正在MouseDown上捕获鼠标并在MouseUp上释放捕获。因此捕获的MouseUp将转到UserControl。但是风格被定义为底层网格。由于捕获,Grid永远不会获得MouseUp。
所以我将Style的TargetType更改为“UserControl”并将UserControl.Style设置为this而不是样式化网格,所有这些都正常工作。