Ich möchte die System.ComponentModel.INOtifyPropertyChanged-Schnittstelle für eine Eigenschaft auf einer Basisklasse implementieren, aber ich bin mir nicht sicher, wie Sie es anschließen.WPF - Implementieren von System.ComponentModel.INotifyPropertyChanged für Basisklasse
Hier ist die Signatur für die Eigenschaft I-Benachrichtigungen erhalten möchte: mein Code in der Basisklasse
public abstract bool HasChanged();
und die Änderung für den Umgang:
public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
private void OnPropertyChanged(String info)
{
PropertyChangedEventHandler handler = PropertyChanged;
if (handler != null)
{
handler(this, new PropertyChangedEventArgs(info));
}
}
Wie kann ich den Griff Verbinden des Ereignisses in der Basisklasse, ohne OnPropertyChanged() in jeder Kindklasse aufrufen zu müssen?
Danke,
Sonny
EDIT: OK ... so denke ich, dass, wenn der Wert für Haschanged() ändert sich, ich bin OnPropertyChanged("HasChanged")
nennen soll, aber ich bin nicht sicher, wie man das in die Basisklasse. Irgendwelche Ideen?
Generell dies nicht möglich ist. – Jon
Auch "HasChanged" ist hier eine Methode, keine Eigenschaft. Fehler kopieren/einfügen? – Jon
nicht wahr, er kann immer noch die Eigenschaft der Basisklasse aktualisieren, siehe meine bearbeitete Antwort unten. – VoodooChild