Laden...

Lable erweitern mit BackcolorChanged Ereignis

Erstellt von Lodde vor einem Jahr Letzter Beitrag vor einem Jahr 489 Views
L
Lodde Themenstarter:in
2 Beiträge seit 2022
vor einem Jahr
Lable erweitern mit BackcolorChanged Ereignis

Hallo Zusammen,

ich mach im Moment meine ersten Gehversuche mit WPF. Bisher wurde alles mit Windows.Forms erledigt.
Nun möchte ich in einer C# Anwendung auf eine Änderung der Hintergrundfarbe eine Label reagieren.
Es gibt bei einem Label aber keine Ereignis wie BackcolorChanged analog zu Windows.Forms. Kann ich dies in WPF selbst umsetzen/erweitern? Und wenn ja WIE?

mdf
Lodde

2.079 Beiträge seit 2012
vor einem Jahr

Es gibt eine OnPropertyChanged-Methode, die man in einem abgeleiteten Control überschreiben kann.
Und Du kannst in einem abgeleiteten Control auch mit BackgroundProperty.OverrideMetadata() neue Metadaten inklusive PropertyChangedCallback registrieren.
Beides ist aber für die Entwicklung eigener Controls gedacht und sollte nicht missbraucht werden.

Bei WPF macht man es anders herum:
[Artikel] MVVM und DataBinding

Die Background-Property wird sich ja nicht einfach von selbst ändern.
Du solltest also ein ViewModel haben, was dafür sorgt, dass die Background-Property geändert wird und in diesem ViewModel kannst Du dann auch alles weitere tun und lassen, was Du brauchst - z.B. ein BackgroundChanged-Event einbauen.

Für mich klingt das aber eher, als würde irgendwas in deinem Projekt den Hintergrund ändern und irgendwas anderes interessiert sich nicht für den geänderten Hintergrund, sondern für den Grund, warum er sich geändert hat. Also wie als wäre die View eine Art Vermittler zwischen zwei Funktionen - ziemlich unklug, das so zu machen, auch wenn es theoretisch geht.

NuGet Packages im Code auslesen
lock Alternative für async/await

Beim CleanCode zählen nicht die Regeln, sondern dass wir uns mit diesen Regeln befassen, selbst wenn wir sie nicht befolgen - hoffentlich nach reiflichen Überlegungen.

L
Lodde Themenstarter:in
2 Beiträge seit 2022
vor einem Jahr

Hey Palladin007,

Für mich klingt das aber eher, als würde irgendwas in deinem Projekt den Hintergrund ändern und irgendwas anderes interessiert sich nicht für den geänderten Hintergrund, sondern für den Grund, warum er sich geändert hat. Also wie als wäre die View eine Art Vermittler zwischen zwei Funktionen - ziemlich unklug, das so zu machen, auch wenn es theoretisch geht.

deine Anmerkung trifft den Nagel auf dem Kopf. Ich habe es nur noch nicht aus diese Sichtweise gesehen. Werde mir die Anleitung die du verlinkt haste anschauen.

Gruß und Danke
Lodde