gpt4 book ai didi

wpf - 鼠标悬停时更改背景颜色

转载 作者:行者123 更新时间:2023-12-03 14:23:39 25 4
gpt4 key购买 nike

我已经设法制作了一个圆形边框按钮,但当鼠标悬停时我似乎无法更改其背景颜色。不透明度发生变化,但背景颜色不变。

<Style TargetType="Button" x:Key="FlatButtonStyle">
<Setter Property="OverridesDefaultStyle" Value="True" />
<Setter Property="Cursor" Value="Hand" />
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type Button}">
<Border Name="border" BorderThickness="0" BorderBrush="Black" Background="{TemplateBinding Background}" CornerRadius="4">
<ContentPresenter HorizontalAlignment="Center" VerticalAlignment="Center" />
</Border>

</ControlTemplate>
</Setter.Value>
</Setter>
<Style.Triggers>
<Trigger Property="IsMouseOver" Value="True">
<Setter Property="Background" Value="Orange"/>
<Setter Property="Opacity" Value="0.91" />

</Trigger>
</Style.Triggers>
</Style>

如您所见,我不确定为什么不透明度起作用而另一个不起作用。但是,我认为这与实际按钮本身有冲突:

<Button Style="{StaticResource FlatButtonStyle}" Content="Sign In" VerticalAlignment="Top" Margin="10,267,10,0" Background="#FF3650F3" Foreground="White" Height="29" Command="{Binding SignIn}">

有没有办法覆盖它?我想要做的是创建一个通用的圆形按钮模板,将背景更改为橙色。但我希望能够设置默认背景,就像我在按钮中显示的那样。

最佳答案

试试这个

<Style TargetType="Button" x:Key="FlatButtonStyle">
<Setter Property="OverridesDefaultStyle" Value="True" />
<Setter Property="Cursor" Value="Hand" />
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type Button}">
<Border Name="border" BorderThickness="0" BorderBrush="Black" Background="{TemplateBinding Background}" CornerRadius="4">
<ContentPresenter HorizontalAlignment="Center" VerticalAlignment="Center" />
</Border>
<ControlTemplate.Triggers>
<Trigger Property="IsMouseOver" Value="True">
<Setter TargetName="border" Property="Background" Value="Orange"/>
<Setter Property="Opacity" Value="0.91" />
</Trigger>
</ControlTemplate.Triggers>
</ControlTemplate>
</Setter.Value>
</Setter>

要直接通过名称定位边框,但因为它在 ControlTemplate 内部,所以最好将触发器移到那里。如果您像不透明度 setter 那样省略名称,它的切割器足以知道您正在定位按钮本身,因为它是该按钮的控制模板。因此,您可以定位单个组件以及按钮。

关于wpf - 鼠标悬停时更改背景颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39043030/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com