Я пишу простую игру на С#, используя wpf. В моем xaml.cs я создаю объект Game, который выполняет всю работу.
Мне нужно иметь возможность перезагрузить окно для определенного свойстваChange в игровом объекте. У меня уже есть это в моем xaml:
<TextBlock x:Name="PhaseTB" Text="{Binding Phase, UpdateSourceTrigger=PropertyChanged}" HorizontalAlignment="Center"/>
а Phase является частью объекта Game:
public class Game : INotifyPropertyChanged
{
private static Game _instance;
private GamePhase phase;
public static Game Instance
{
get
{
if (_instance == null)
_instance = new Game(10, 10);
return _instance;
}
}
public GamePhase Phase
{
get { return phase; }
set
{
phase = value;
OnPropertyChanged("Phase");
}
}
public event PropertyChangedEventHandler PropertyChanged;
private void OnPropertyChanged(string propertyName)
{
if (PropertyChanged != null)
{
PropertyChanged(this, new PropertyChangedEventArgs(propertyName));
}
}
Все работает нормально, и текстовое поле обновляется в соответствии со значением фазы.
Мой вопрос: как мне вызывать метод всякий раз, когда изменяется значение фазы? Текст меняется просто отлично, но я понятия не имею, как вызвать метод кода программной части.
(извините за нубский вопрос. Я унаследовал код и не очень понимаю, как все это работает)