Wie kann ich mit C # und Visual Studio 2010 die Hintergrundfarbe einer Schaltfläche ändern, wenn eine andere Taste gedrückt wird? Füge ich kein System hinzu? falsch?
Was ich im Moment habe, ist:
ButtonToday.Background = Color.Red;
Und es funktioniert nicht.
WinForm:
private void button1_Click(object sender, EventArgs e)
{
button2.BackColor = Color.Red;
}
WPF:
private void button1_Click(object sender, RoutedEventArgs e)
{
button2.Background = Brushes.Blue;
}
In WPF ist der Hintergrund kein Color
, sondern ein Brush
. Also, probieren Sie dies als Vorspeise:
using System.Windows.Media;
// ....
ButtonToday.Background = new SolidColorBrush(Colors.Red);
Sinnvoller ist jedoch, dass Sie dies in Ihrem Xaml statt im Code tun sollten.
Code für eingestellte Hintergrundfarbe, für SolidColor
:
button.Background = new SolidColorBrush(Color.FromArgb(Avalue, rValue, gValue, bValue));
// WPF
// Defined Color
button1.Background = Brushes.Green;
// Color from RGB
button2.Background = new SolidColorBrush(Color.FromArgb(255, 0, 255, 0));
Ich hatte zunächst Probleme beim Festlegen der Farben für WPF-Anwendungssteuerelemente ..__ Anscheinend enthält System.Windows.Media
standardmäßig nicht, Windows.UI.Xaml.Media
jedoch einige vorgefüllte Farben.
Am Ende habe ich die folgende Codezeile verwendet, um sie zum Laufen zu bringen:
grid.Background.SetValue(SolidColorBrush.ColorProperty, Windows.UI.Colors.CadetBlue);
Sie sollten in der Lage sein, grid.Background
in die meisten anderen Steuerelemente und dann in CadetBlue
in eine der anderen Farben zu ändern.
Ich bezweifle, ob eine dieser Funktionen funktionieren sollte Versuchen Sie Folgendes: ___. Importieren Sie zunächst den Namespace am Anfang der Codepage wie unten.
using System.Drawing;
dann im code.
Button4.BackColor = Color.LawnGreen;
Ich hoffe es hilft.