我正在尝试使用 <Style TargetType="{x:Type Button}">
<Setter Property="Background" Value="Red"/>
<Style.Triggers>
<Trigger Property="IsMouseOver" Value="True">
<Setter Property="Background" Value="Purple"/>
</Trigger>
</Style.Triggers>
</Style>
触发器更改按钮的背景。我在Stackoverflow上找到了许多好的答案,但我遇到了一个奇怪的问题,我似乎无法找到其他人。我定义了以下样式
<Button Content="Some Button"/>
并使用按钮
connect()
我的问题是,当我将鼠标悬停在背景上时会变为紫色,但是当鼠标仍然在按钮上方时,会立即更改为标准窗口蓝色。我希望背景会保持紫色,直到鼠标不再在按钮上方。有谁知道可能是什么问题?感谢。
答案 0 :(得分:1)
Button
的标准模板使用ButtonChrome组件,该组件负责根据当前Windows主题呈现按钮。不幸的是,ButtonChrome
不是很可定制的(基本上它在OnRender
处理程序中执行了所有操作),因此您希望对按钮的外观进行更大的更改,您必须编写一个custom template。