@1SLY2

Вылетает Exception при смене свойств PropertyChanged?

Я пытаюсь создать Hamburger Menu не нарушая концепции MVVM:
1. Создаю переменную которая будет связана с SplitView и будет менять значение IsPaneOpen
private bool isPaneOpened;
        public bool IsPaneOpened
        {
            get
            {
                return isPaneOpened;
            }
            set
            {
                SetProperty(ref this.isPaneOpened, value);
            }
        }

2. Создаю кнопку, которая будет менять значение IsPaneOpened, и привязываю ее к команде:
public ICommand PaneOpenedConvert
        {
            get
            {
                return new Command(PaneOpen);
            }
        }
        private void PaneOpen()
        {
            IsPaneOpened = !IsPaneOpened;
        }

После нажатия на кнопку мой PropertyChanged выкидывает exception:
System.NullReferenceException: "Object reference not set to an instance of an object."

Вот реализация PropertyChanged:
public event PropertyChangedEventHandler PropertyChanged;
        protected bool SetProperty<T>(ref T Storage, T Value, [CallerMemberName] string Propertname = null)
        {
            if (EqualityComparer<T>.Default.Equals(Storage, Value)) return false;
            Storage = Value;
            PropertyChanged(this, new PropertyChangedEventArgs(Propertname));
            return true;

        }

В чем проблема? Помогите понять
  • Вопрос задан
  • 48 просмотров
Решения вопроса 1
AlexanderYudakov
@AlexanderYudakov
C#, 1С, Android, TypeScript
Знак вопроса добавьте:
PropertyChanged?(this, new PropertyChangedEventArgs(Propertname));


А то, пока подписчиков нет, там null будет.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы