I am new to WPF animation.
I have a wpf application with 4 buttons. The 4 buttons have animations where the opacity of the button changes from 0.0 to 1.0 which gets triggered when the mouse hovers over that button.
The problem I am facing is that, even if the mouse slides over other buttons for a fraction of a second, the animations for those buttons are getting triggered.
Is there any way where I can trigger the animation only if the mouse stays on a button for a minimum of one second?
<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>
Thanks in Advance
I don't think this is something you can do in XAML. In code it would look something like this:
XAML
CODE