Ich habe Grid
in MainWindow.xaml. Grid
ist mit meiner UserControl
(geändert Button
) gefüllt.Wie ändert man die UserControl-Eigenschaft von der statischen Klasse?
In statischer Klasse Globals, ich habe Bool varible, die bei Button
Presse ändern. Jetzt muss ich auch ändern Grid
Hintergrundfarbe auf dieser Bool Variable ändern.
Problem ist, dass ich nicht Grid
von anderen dann hinter Code MainWindow.xaml.cs erreichen kann.
Global.cs:
public static class Globals
{
private static bool _player;
public static bool Player {
get { return _player; }
set {
_player = value;
Debug.WriteLine(value);
}
}
}
Mein UserControl
:
public partial class tetrisButton : UserControl
{
public tetrisButton()
{
InitializeComponent();
Button.Focusable = false;
}
private void Button_Click(object sender, RoutedEventArgs e)
{
if(!Globals.Player)
{
Button.Content = new cross();
Globals.Player = true;
}
else
{
Button.Content = new circle();
Globals.Player = false;
}
}
}
Warum nicht den Hintergrund in Ihrer Klick-Methode zu ändern? –
Sie sollten in Betracht ziehen, dem MVVM-Muster zu folgen –
Seit WPF 4.5 können Sie einfach [an statische Eigenschaften binden] (http://10rem.net/blog/2011/11/29/wpf-45-binding-and-change-notification -für-statische-Eigenschaften). Sie könnten also einfach einen DataTrigger für den Hintergrund des Gitters haben. – Clemens