【发布时间】:2012-08-16 03:06:15
【问题描述】:
好的..这很奇怪....我定义了一个按钮,实际上是 5 个按钮,每个按钮都有不同的颜色,但是在鼠标悬停时,它们只是将颜色更改为冰蓝色....我试过了使用以下代码覆盖它:
<Button Name="btn1" Content="Button" Width="65" Height="45" Background="Green" Margin="1,1,0,1" FontWeight="Bold">
<Button.Style>
<Style>
<Style.Triggers>
<Trigger Property="Button.IsMouseOver" Value="True">
<Setter Property="Button.Background" Value="Yellow" />
</Trigger>
</Style.Triggers>
</Style>
</Button.Style>
<Button.LayoutTransform>
<RotateTransform Angle="270"/>
</Button.LayoutTransform>
</Button>
但它仍然不起作用......我想要的是它应该保持它已经被赋予的背景颜色(每个按钮不同),所以问题是:我是否必须为每个按钮一次又一次地定义它按钮(触发器不起作用,颜色变为冰蓝色)或者我可以在资源文件中使用通用值定义它,它要么停止颜色更改,要么只是将背景设置为现有属性 编辑:为了清楚起见,我希望按钮在鼠标悬停时停止更改其颜色,并保留我分配给它的任何颜色.....
【问题讨论】:
-
你能阻止它变成“冰蓝色”,还是你的问题?
-
不......我无法阻止它......是的,这是我的问题,我不希望它变成冰蓝色,但保留我分配给它的任何颜色
-
那么我认为您的问题与以下内容重复:stackoverflow.com/questions/1224439/…
-
我已经解决了这个问题,但它对我不起作用......它在设置器中设置了一种颜色,该颜色将应用于所有按钮,而不管它们的背景颜色如何......我只是不希望颜色改变....这就是区别
-
我不确定你是从哪里得到“冰蓝色”的,但是当它改变颜色时按钮是聚焦的吗?它有可能从SystemColors 中提取颜色,在这种情况下,您可以尝试为您的按钮覆盖
SystemColor(可能是透明的?)
标签: wpf button user-interface