(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>

现在我知道那里有一个按钮,但那是因为我不知道该怎么做。因此,当用户单击网格时,动画必须工作。

有没有一种方法可以模拟鼠标按下时的按钮点击事件来触发它?

(WPF)在MouseDown上使用情节提要旋转网格

只需将触发器移动到Grid并关闭MouseDown事件:

<Grid.Triggers>
    <EventTrigger RoutedEvent="Grid.MouseDown">
...
    </EventTrigger>
</Grid.Triggers>