Wie funktioniert der MVVM Light Messenger. Da ich mir das nicht merken kann, hier ein Beispiel.
MVVM light erlaubt das Senden und Empfangen von Nachrichten. Dies erlaubt eine sehr lose Kopplung von Komponenten. Kurz gesagt, irgendwo kann eine Nachricht versendet werden und diese kann irgendwo anders empfangen werden. Dazu registriert man sich am Messenger.
Jede Nachricht kann ein Objekt übergeben, dies ist einfach irgendein Objekt, ggf. mit Daten. Es dient ansonsten zur Registrierung der Nachricht.
Senden von Nachrichten
Nachrichten zu senden geschieht mit der Send-Methode:
Messenger.Default.Send(new ExportToFileMessage());
In diesem Fall sende ich eine „ExportToFileMessage“ mit. Diese dient nur zur Unterscheidung der Nachricht:
public class ExportToFileMessage { }
Empfangen von Nachrichten
An anderer Stelle können wir nun auf die Nachricht reagieren. Dazu registrieren wir uns:
Messenger.Default.Register<ExportToFileMessage>(this, (exportToFileMessage) => { //Stuff todo });
Wird die Nachricht empfangen, können wir hier darauf reagieren. Neben der Registrierung gibt es natürlich auch die Möglichkeit sich von den Nachrichten wieder abzumelden.
Ein Kommentar