C#更改按钮的背景颜色

The*_*Woo 31 c# wpf background button

使用C#和Visual Studio 2010,如果按下另一个按钮,如何更改按钮的背景颜色?我不包括系统.?错误?

我现在所拥有的是:

ButtonToday.Background = Color.Red;

它不起作用.

Fer*_*roc 67

WinForm的:

private void button1_Click(object sender, EventArgs e)
{
   button2.BackColor = Color.Red;
}
Run Code Online (Sandbox Code Playgroud)

WPF:

private void button1_Click(object sender, RoutedEventArgs e)
{
   button2.Background = Brushes.Blue;
}
Run Code Online (Sandbox Code Playgroud)

  • 确保你'使用'System.Windows.Media.Brushes而不是System.Drawing.Brush - (http://msdn.microsoft.com/en-us/library/system.windows.media.brushes.aspx) (3认同)

Dan*_*zey 12

在WPF中,背景不是Color,它是一个Brush.所以,试试这个对于初学者:

using System.Windows.Media;

// ....

ButtonToday.Background = new SolidColorBrush(Colors.Red);
Run Code Online (Sandbox Code Playgroud)

但是,更明智的是,您可能应该在Xaml中而不是代码中执行此操作.


小智 5

设置背景颜色的代码,用于SolidColor

button.Background = new SolidColorBrush(Color.FromArgb(Avalue, rValue, gValue, bValue));
Run Code Online (Sandbox Code Playgroud)