INotifyPropertyChange выдает ошибку активации окна - PullRequest
0 голосов
/ 06 апреля 2020

Я пытаюсь реализовать и понять INotifyProperty Изменение C# в формах Xamarin.

В основном пытаюсь понять основы связывания. Я не знаю почему, но это выдает мне странную ошибку:

невозможно активировать приложение магазина окон
1d51271b-455bb-47e6-a056e (еще несколько человек не могут его скопировать ) '
Запрос на активацию не выполнен с ошибкой.
неизвестная ошибка.

Вот код для того же

public FirstViewModel()
{

}

public event PropertyChangedEventHandler PropertyChanged;

public event EventHandler CanExecuteChanged;

string _name;
public string Name 
{
    get
    {
        return _name;
    }
    set
    {
        _name = value;

        PropertyChanged(this, new PropertyChangedEventArgs("Name"));
    }
}

Пожалуйста, помогите.

- я реализовал интерфейс INotifyPropertyChange

Ответы [ 2 ]

1 голос
/ 06 апреля 2020

Я не уверен, какой у вас код PropertyChanged, но обычно при запуске любого обработчика событий, особенно для того, который может находиться в другом потоке, например, в пользовательском интерфейсе, необходимо разрешить вызов действия. Попробуйте

PropertyChanged?.Invoke(this, new PropertyChangedEventArgs("Name"));
1 голос
/ 06 апреля 2020

попробуйте этот фрагмент кода и создайте общий класс. Просто расширьте его, используйте любое место в проекте.

using System;
using System.ComponentModel;

namespace 'YourNameSpace'
{
    public class BaseNotifyPropertyChanged:INotifyPropertyChanged
    {
        public event PropertyChangedEventHandler PropertyChanged;
        public void OnPropertyChanged(string propertyName)
        {

            if (PropertyChanged != null)
                PropertyChanged(this, new PropertyChangedEventArgs(propertyName));
        }
    }
}

используйте как:

        private string _checkIn;
        public string CheckIn
        {
            get { return _checkIn; }
            set
            {
                _checkIn = value;
                OnPropertyChanged("CheckIn");
            }
        }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...