(WPF)在MouseDown上使用情节提要旋转网格
本文关键字:旋转 网格 用情 WPF MouseDown | 更新日期: 2023-09-27 18:28:35
所以最近我问如何用按钮旋转堆叠面板。点击事件但现在我必须做同样的事情,但使用Grid和MouseDown事件所以基本上,当我点击网格时,它必须旋转180°。
我不知道故事板元素是否可以做到这一点?这就是我问你们的原因。
下面的代码只是XAML文件,没有代码,因为我不知道如何实现
<Window x:Class="WpfApplication1.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="MainWindow" Height="350" Width="525">
<Grid>
<Grid x:Name="pnlFlip" RenderTransformOrigin="0.5,0.5">
<Grid.RenderTransform>
<RotateTransform />
</Grid.RenderTransform>
<Grid Height="317">
<Grid.RowDefinitions>
<RowDefinition/>
<RowDefinition/>
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition/>
<ColumnDefinition/>
<ColumnDefinition/>
</Grid.ColumnDefinitions>
<Button x:Name="btnTest" Grid.Row="0" Grid.Column="0">
<Button.Triggers>
<EventTrigger RoutedEvent="Button.Click">
<BeginStoryboard>
<Storyboard>
<DoubleAnimation To="180" Storyboard.TargetName="pnlFlip" Storyboard.TargetProperty="(UIElement.RenderTransform).(RotateTransform.Angle)" />
</Storyboard>
</BeginStoryboard>
</EventTrigger>
</Button.Triggers>
</Button>
<Rectangle Grid.Row="1" Grid.Column="1" Name="rectTest" Fill="Red" Height="127"/>
</Grid>
</Grid>
</Grid>
现在我知道那里有一个按钮,但那是因为我不知道该怎么做。因此,当用户单击网格时,动画必须工作。
有没有一种方法可以模拟鼠标按下时的按钮点击事件来触发它?
只需将触发器移动到Grid
并关闭MouseDown
事件:
<Grid.Triggers>
<EventTrigger RoutedEvent="Grid.MouseDown">
...
</EventTrigger>
</Grid.Triggers>