silverlight - 在后面的代码中更改 Silverlight 5 中按钮的背景颜色

标签 silverlight button colors background

我想在单击按钮时更改按钮的背景颜色。使按钮从红色变为绿色再变为红色,等等......

但是,当我单击背景颜色时,它不会改变。

这是我尝试过的:

button4.Background.SetValue(BackgroundProperty,new SolidColorBrush(Colors.Red)); -> catastrophic error

button4.SetValue(BackgroundProperty,new SolidColorBrush(Colors.Red)); -> nothing

button4.Background = new SolidColorBrush(Colors.Red); -> nothing

第三个解决方案似乎最相关,但不起作用。

最佳答案

我在 Silverlight 5 中遇到了与 UserControl 相同的问题。

protected override void OnMouseLeftButtonDown(MouseButtonEventArgs e)
{
  base.OnMouseLeftButtonDown(e);
  Background = new SolidColorBrush(Colors.Black); //nothing
}

但是,如果我命名主 Grid 网格并写下这些代码:
protected override void OnMouseLeftButtonDown(MouseButtonEventArgs e)
{
  base.OnMouseLeftButtonDown(e);
  grid.Background = new SolidColorBrush(Colors.Black); //ok
}

它有效,我不知道为什么。当我需要使用一些复杂的不透明效果时,我可能需要一些额外的矩形并设置它们的填充。有点不方便。

关于silverlight - 在后面的代码中更改 Silverlight 5 中按钮的背景颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9565072/

相关文章:

WCF 服务无法在 HTTPS/SSL 下运行

xml - 如何将条目添加到 'More' 菜单或顶部菜单以添加对多个选择的操作?

android - Xamarin Android 使用自定义皮肤和点击事件从数据库构建自定义动态按钮

java - 为什么我的 java 动画不工作?

c# - WP7 相当于 EmptyDataTemplate?

wcf - 有没有一种方法可以从MIC流音频并在Silverlight中播放该流

silverlight - 当 IsHitTestVisible 为 false 时,允许点击 ComboBoxItem 中的 Button

javascript - jQuery:toggleClass,多个 <td> 元素,只有一个突出显示

Linux ls 显示黄色背景的文件

C# 从 KnownColor 中删除较暗的颜色