我是 WPF 动画的新手。
我有一个带有 4 个按钮的 wpf 应用程序。4 个按钮具有动画,其中按钮的不透明度从 0.0 变为 1.0,当鼠标悬停在该按钮上时会触发该动画。
我面临的问题是,即使鼠标在其他按钮上滑动几分之一秒,这些按钮的动画也会被触发。
有没有什么方法可以让我只有在鼠标停留在按钮上至少一秒钟时才能触发动画?
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="2*"/>
<ColumnDefinition Width="22.5*"/>
<ColumnDefinition Width="2*"/>
<ColumnDefinition Width="22.5*"/>
<ColumnDefinition Width="2*"/>
<ColumnDefinition Width="22.5*"/>
<ColumnDefinition Width="2*"/>
<ColumnDefinition Width="22.5*"/>
<ColumnDefinition Width="2*"/>
</Grid.ColumnDefinitions>
<Button x:Name="Button1" Grid.Column="1" Content="Button 1">
<Button.Triggers>
<EventTrigger RoutedEvent="Button.MouseEnter">
<BeginStoryboard>
<Storyboard>
<DoubleAnimation From="0.0" To="1.0" Storyboard.TargetProperty="Opacity" Storyboard.TargetName="Button1" Duration="0:0:1"></DoubleAnimation>
</Storyboard>
</BeginStoryboard>
</EventTrigger>
</Button.Triggers>
</Button>
<Button x:Name="Button2" Grid.Column="3" Content="Button2">
<Button.Triggers>
<EventTrigger RoutedEvent="Button.MouseEnter">
<BeginStoryboard>
<Storyboard>
<DoubleAnimation From="0.0" To="1.0" Storyboard.TargetProperty="Opacity" Storyboard.TargetName="Button2" Duration="0:0:1"></DoubleAnimation>
</Storyboard>
</BeginStoryboard>
</EventTrigger>
</Button.Triggers>
</Button>
<Button x:Name="Button3" Grid.Column="5" Content="Button 3">
<Button.Triggers>
<EventTrigger RoutedEvent="Button.MouseEnter">
<BeginStoryboard>
<Storyboard>
<DoubleAnimation From="0.0" To="1.0" Storyboard.TargetProperty="Opacity" Storyboard.TargetName="Button3" Duration="0:0:1"></DoubleAnimation>
</Storyboard>
</BeginStoryboard>
</EventTrigger>
</Button.Triggers>
</Button>
<Button x:Name="Button4" Grid.Column="7" Content="Button 4">
<Button.Triggers>
<EventTrigger RoutedEvent="Button.MouseEnter">
<BeginStoryboard>
<Storyboard>
<DoubleAnimation From="0.0" To="1.0" Storyboard.TargetProperty="Opacity" Storyboard.TargetName="Button4" Duration="0:0:1"></DoubleAnimation>
</Storyboard>
</BeginStoryboard>
</EventTrigger>
</Button.Triggers>
</Button>
</Grid>
提前致谢