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