可以只使用属性窗格或代码编辑前景和背景等...对于按钮的默认状态而不使用混合,但是是否可以在没有混合的情况下编辑其他状态的颜色?
例如,我想要的只是一个在“鼠标悬停”上变灰的按钮。我在 Stack Overflow 或 Intertubes 上看到的任何东西都使用 Blend。我想没有它。可能吗?
可以只使用属性窗格或代码编辑前景和背景等...对于按钮的默认状态而不使用混合,但是是否可以在没有混合的情况下编辑其他状态的颜色?
例如,我想要的只是一个在“鼠标悬停”上变灰的按钮。我在 Stack Overflow 或 Intertubes 上看到的任何东西都使用 Blend。我想没有它。可能吗?
一个简单的方法是使用Style
触发器。
<Style x:Key="HoverButtonStyle" TargetType="{x:Type Button}">
<Style.Triggers>
<Trigger Property="IsMouseOver" Value="True">
<Setter Property="Background" Value="Gray"/>
</Trigger>
</Style.Triggers>
</Style>
样式在您的资源中定义。然后,当您在 XAML 中定义按钮时,您可以指定样式,如下所示:
<Button x:Name="MyButton" Style="{DynamicResource HoverButtonStyle}"/>
当鼠标悬停在它上面时,这种风格会改变Background
你的画笔。Button
您可以使用触发器执行许多更高级的操作,但这是一个非常简单的示例。如果你在谷歌上搜索 WPF 样式触发器,你会发现很多例子,包括这个非常详尽的例子。
还有其他方法可以做到这一点,例如使用,如此处VisualStateManager
所述,但是如果您只是尝试更改悬停时,样式触发器可能是最简单的方法。Background