Я спросил, не может привязать свойство textblock из другого класса к классу пользовательского интерфейса, используя MVVM в предыдущем посте. Невозможно связать свойство textblock из другого класса с классом пользовательского интерфейса, используя MVVM
Я все еще не могу связать свойство textblock, но я обнаружил, что событие PropertyChanged становится пустым, когда я не могу связать свойство textblock.
Пожалуйста, см. Ниже код (также см. Предыдущий пост):
public class Authentication : ViewModelBase
{
private string _ErrorStatus;
public string ErrorStatus
{
get
{
return _ErrorStatus;
}
set
{
_ErrorStatus = value;
NotifyPropertyChanged("ErrorStatus");
}
}
void Authenticate()
{
//The bellow code doesn't work.
ErrorStatus = "Access Denied.";
}
}
В приведенном ниже коде PropertyChanged становится пустым.
public class ViewModelBase : INotifyPropertyChanged
{
public event PropertyChangedEventHandler PropertyChanged;
protected void NotifyPropertyChanged(String info)
{
//PropertyChanged is null, so event is not called and ErrorStatus is not changed.
if (PropertyChanged != null)
{
PropertyChanged(this, new PropertyChangedEventArgs(info));
}
}
}
Пожалуйста, дайте мне знатькак написать правильный код и почему PropertyChanged становится нулевым.
Я уже подтвердил, что ErrorStatus изменяется правильно, когда ErrorStatus вызывается в классе пользовательского интерфейса (MainPage.cs).