MainWindow.xamlにGrid
があります。 Grid
は私のUserControl
(変更されたButton
)で満たされています。静的クラスからUserControlプロパティを変更するには?
静的なクラスグローバルでは、私はButton
プレスで変更されているbool変数を持っています。このブール変数の変更で背景色をGrid
に変更する必要があります。
問題は、他のMainWindow.xaml.csコードの背後にあるGrid
に手が届きません。
Global.cs:
public static class Globals
{
private static bool _player;
public static bool Player {
get { return _player; }
set {
_player = value;
Debug.WriteLine(value);
}
}
}
マイ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;
}
}
}
あなたのクリックの方法で背景を変更しないのはなぜ? –
MVVMのパターン –
に従うことを検討する必要があります.WPF 4.5以降、簡単に[静的プロパティにバインドする]ことができます(http://10rem.net/blog/2011/11/29/wpf-45-binding-and-change-notification -for-static-properties)を使用します。だから、単にグリッドの背景のためのDataTriggerを持つことができます。 – Clemens