Entwickler-Ecke
WinForms - Textfarbe neu zeichen
Delete - Mi 24.08.16 13:01
Titel: Textfarbe neu zeichen
- Nachträglich durch die Entwickler-Ecke gelöscht -
C# - Mi 24.08.16 13:39
Ich bin mir nicht sicher wie der Designer das macht, aber erzeugt er nicht ein komplett neues ColumnSettings Objekt und weißt dieses dann der ListView zu? Somit hast du nämlich das Problem, dass wenn deine ColumnSettings Eigenschaft neu gesetzt wird, der Eventhandler nicht geupdated wird. Dieser reagiert nämlich nur auf die Instanz, die du in der ListView erzeugst. Ich würde mal probieren für die ColumnSettings Eigenschaft ein backing field zu erzeugen und dann in der setter Funktion das propertychanged Event des neuen Objekts zu abonnieren.
Delete - Mi 24.08.16 15:42
- Nachträglich durch die Entwickler-Ecke gelöscht -
Palladin007 - Mi 24.08.16 16:16
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.
Delete - Mi 24.08.16 16:48
- Nachträglich durch die Entwickler-Ecke gelöscht -
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2025 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!