Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/svg/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Wpf 鼠标悬停时旋转矩形_Wpf_Xaml - Fatal编程技术网

Wpf 鼠标悬停时旋转矩形

Wpf 鼠标悬停时旋转矩形,wpf,xaml,Wpf,Xaml,这里有一个很好的矩形简单旋转动画示例: 然而,我只想在鼠标上方旋转我的矩形,并在鼠标离开时停止。以下是我目前的xaml: <Button Command="{Binding SettingsCommand}" Style="{DynamicResource SettingButton}"> <Rectangle Width="15" Height="15" RenderTransformOrigin="0.5, 0.5"> <Rectangl

这里有一个很好的矩形简单旋转动画示例:

然而,我只想在鼠标上方旋转我的矩形,并在鼠标离开时停止。以下是我目前的xaml:

<Button Command="{Binding SettingsCommand}" Style="{DynamicResource SettingButton}">
    <Rectangle Width="15" Height="15" RenderTransformOrigin="0.5, 0.5">
        <Rectangle.RenderTransform>
            <RotateTransform/>
        </Rectangle.RenderTransform>
        <Rectangle.Triggers>
            <EventTrigger RoutedEvent="Loaded">
                <BeginStoryboard>
                    <Storyboard>
                        <DoubleAnimation Storyboard.TargetProperty="(Rectangle.RenderTransform).(RotateTransform.Angle)" To="-360" Duration="0:0:1" RepeatBehavior="Forever"/>
                    </Storyboard>
                </BeginStoryboard>
            </EventTrigger>
        </Rectangle.Triggers>
        <Rectangle.Fill>
            <VisualBrush Stretch="Fill" Visual="{StaticResource appbar_cog}"/>
        </Rectangle.Fill>
    </Rectangle>
</Button>

我怎样才能修改它,使其仅在鼠标悬停时工作


谢谢

您可以对
MouseEnter
MouseLeave
事件使用触发器:

<Button Command="{Binding SettingsCommand}" Style="{DynamicResource SettingButton}">
    <Rectangle Width="15" Height="15" RenderTransformOrigin="0.5, 0.5">
        <Rectangle.RenderTransform>
            <RotateTransform/>
        </Rectangle.RenderTransform>
        <Rectangle.Triggers>
            <EventTrigger RoutedEvent="MouseEnter">
                <BeginStoryboard>
                    <Storyboard>
                        <DoubleAnimation
                            Storyboard.TargetProperty="RenderTransform.Angle"
                            To="-360" Duration="0:0:1" RepeatBehavior="Forever"/>
                    </Storyboard>
                </BeginStoryboard>
            </EventTrigger>
            <EventTrigger RoutedEvent="MouseLeave">
                <BeginStoryboard>
                    <Storyboard>
                        <DoubleAnimation
                            Storyboard.TargetProperty="RenderTransform.Angle"
                            To="0" Duration="0:0:0"/>
                    </Storyboard>
                </BeginStoryboard>
            </EventTrigger>
        </Rectangle.Triggers>
        <Rectangle.Fill>
            <VisualBrush Stretch="Fill" Visual="{StaticResource appbar_cog}"/>
        </Rectangle.Fill>
    </Rectangle>
</Button>

您可以使用触发器触发
MouseEnter
MouseLeave
事件:

<Button Command="{Binding SettingsCommand}" Style="{DynamicResource SettingButton}">
    <Rectangle Width="15" Height="15" RenderTransformOrigin="0.5, 0.5">
        <Rectangle.RenderTransform>
            <RotateTransform/>
        </Rectangle.RenderTransform>
        <Rectangle.Triggers>
            <EventTrigger RoutedEvent="MouseEnter">
                <BeginStoryboard>
                    <Storyboard>
                        <DoubleAnimation
                            Storyboard.TargetProperty="RenderTransform.Angle"
                            To="-360" Duration="0:0:1" RepeatBehavior="Forever"/>
                    </Storyboard>
                </BeginStoryboard>
            </EventTrigger>
            <EventTrigger RoutedEvent="MouseLeave">
                <BeginStoryboard>
                    <Storyboard>
                        <DoubleAnimation
                            Storyboard.TargetProperty="RenderTransform.Angle"
                            To="0" Duration="0:0:0"/>
                    </Storyboard>
                </BeginStoryboard>
            </EventTrigger>
        </Rectangle.Triggers>
        <Rectangle.Fill>
            <VisualBrush Stretch="Fill" Visual="{StaticResource appbar_cog}"/>
        </Rectangle.Fill>
    </Rectangle>
</Button>