private void Game_OnPropertyAboutToChange(object?sender, PropertyAboutToChangeEventArgs e) { if (!ReferenceEquals(sender, Model.Game)) { return; } GameOnPropertyAboutToChange(e); }
private void Model_OnPropertyAboutToChange(object?sender, PropertyAboutToChangeEventArgs e) { if (!ReferenceEquals(sender, Model)) { return; } switch (e.PropertyName) { case nameof(AbstractWindowViewModel.Game): { Unsubscribe(e.OldValue as ViewModel, Game_OnPropertyChanged); Unsubscribe(e.OldValue as ViewModel, Game_OnPropertyAboutToChange); Subscribe(e.NewValue as ViewModel, Game_OnPropertyChanged); Subscribe(e.NewValue as ViewModel, Game_OnPropertyAboutToChange); break; } } ModelOnPropertyIsAboutToChange(e); }
protected virtual void GameOnPropertyAboutToChange(PropertyAboutToChangeEventArgs e) { }
protected virtual void ModelOnPropertyIsAboutToChange(PropertyAboutToChangeEventArgs e) { }