只需使用属性窗格或代码就可以编辑前景和背景等...没有Blend的Button的默认状态,但是可以编辑其他状态的颜色而不使用Blend吗?
例如,我想要的只是一个按钮,在“鼠标悬停”上变灰。我在Stack Overflow或Intertubes上看到的任何东西都使用了Blend。我想在没有它的情况下这样做。有可能吗?
答案 0 :(得分:2)
一种简单的方法是使用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
的{{1}}画笔。您可以使用触发器执行更多高级操作,但这是一个非常简单的示例。如果你使用谷歌WPF样式触发器,你会发现很多例子,包括this one非常彻底。
还有其他方法可以执行此操作,例如使用Button
,如here所述,但如果您只是尝试更改悬停时的VisualStateManager
,则会触发样式可能是最简单的方法。