0

可以只使用属性窗格或代码编辑前景和背景等...对于按钮的默认状态而不使用混合,但是是否可以在没有混合的情况下编辑其他状态的颜色?

例如,我想要的只是一个在“鼠标悬停”上变灰的按钮。我在 Stack Overflow 或 Intertubes 上看到的任何东西都使用 Blend。我想没有它。可能吗?

4

1 回答 1

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你的画笔。Button您可以使用触发器执行许多更高级的操作,但这是一个非常简单的示例。如果你在谷歌上搜索 WPF 样式触发器,你会发现很多例子,包括这个非常详尽的例子。

还有其他方法可以做到这一点,例如使用,如此VisualStateManager所述,但是如果您只是尝试更改悬停时,样式触发器可能是最简单的方法。Background

于 2013-02-22T18:17:15.457 回答