我想将鼠标悬停在 1 个按钮上,然后在 XAML 代码中使用 WPF (C#) 中的动画,不同按钮的不透明度缓慢变化(淡出)。
我想要更改的按钮有 x:Name=”HiddenMenu”,但是下面的样式代码适用于 x:Name=”PlayMenu” 的按钮,当我将鼠标悬停在 PlayMenu 按钮上时,我想要 HiddenMenu 的不透明度按钮进行更改。在 MainWindow 中,PlayMenu 按钮将其样式引用为 ('Style="{StaticResource MyMenuButton}")。任何帮助将不胜感激,谢谢。
<Style TargetType="Button" x:Key="MyMenuButton">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="Button">
<ControlTemplate.Triggers>
<EventTrigger RoutedEvent="MouseEnter">
<BeginStoryboard>
<Storyboard>
<DoubleAnimation x:Name="HiddenMenu" Storyboard.TargetProperty="Opacity" To="0" Duration="0:0:0.2" />
</Storyboard>
</BeginStoryboard>
</EventTrigger>
</ControlTemplate.Triggers>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
我认为这可能会解决您的问题:
<Button x:Name="button1">
<Button.Triggers>
<Trigger Property="IsMouseOver" Value="True">
<Setter Property="Opacity" TargetName="button2" Value="0.5"/>
</Trigger>
<Trigger Property="IsMouseOver" Value="False">
<Setter Property="Opacity" TargetName="button2" Value="0"/>
</Trigger>
</Button.Triggers>
</Button>
在此示例中,button1 是您的按钮,button2 是当鼠标悬停在按钮 1 上时淡化不透明度的按钮。