Wichtig:
Wenn Du das im Setter machst, dann achte darauf, dass 1. ein eventuell vorher registrierter PropertyChangedHandler deregistriert wird und 2. der neue Handler nur registriert wird, wenn das Objekt nicht null ist.
Mag sein, dass das in deinem aktuellen Fall nicht auf tritt, aber für die Zukunft solltest Du das beachten.
C#-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15:
| private ColumnSettings _columnSettings; public ColumnSettings ColumnSetting { get { return _columnSettings; } set { if (ColumnSetting != null) ColumnSetting.PropertyChanged -= ColumnSettings_PropertyChanged;
_columnSettings = value;
if (ColumnSetting != null) ColumnSetting.PropertyChanged += ColumnSettings_PropertyChanged; } } |
Wenn ColumnSettings nie null sein darf, dann kannst Du ja noch einen Check
value == null einbauen und/oder das Prüfen auf null vor dem EventHandler registrieren/deregistrieren entfernen.
Wichtig ist nur, dass die Property im Konstruktor dann auch einen Wert bekommt.