Я искал на форумах решение, но ни одно из перечисленных решений не помогло. Я предполагаю, что моя реализация отключена, но я не понимаю, что и почему.
Используя формы Xamarin, я пытаюсь обновить метку при изменении данных объекта.
Соответствующий код:
public new event PropertyChangedEventHandler PropertyChanged;
protected new virtual void OnPropertyChanged(string propertyName)
{
System.Diagnostics.Debug.WriteLine ("Before");
if (PropertyChanged != null)
{
System.Diagnostics.Debug.WriteLine ("Fired");
PropertyChanged(this,
new PropertyChangedEventArgs(propertyName));
}
}
public string String {
set {
if (_data == value)
return;
_data = value;
OnPropertyChanged ( "String" ); }
get { return _data; }
}
public new View Content {
get {
label = new Label { Text = String };
label.SetBinding( Label.TextProperty, new Binding( "String" ) );
return label;}
}
По сути, «До» выводится на консоль, а «Уволен» не печатается. Это означает, что PropertyChanged имеет значение null, поэтому PropertyChanged не срабатывает.
Что мне не хватает?