Implementieren eines Nachrichten- / Abonnementmechanismus in C #

Ich erstelle eine WPF-Anwendung mit dem MVVM-Muster. Nach einer Antwort aufdiese Frage Ich habe einen eingerichtetModelProviderService das macht Modelle als Eigenschaften verfügbar. Die Konsumenten des Dienstes sind die Ansichtsmodelle, d. H. Sie ziehen ihre Modelle aus dem Dienst heraus, anstatt sie selbst zu instanziieren.

class ModelProviderService {

  private LoginModel loginModel;
  public LoginModel LoginModel {
    get { return loginModel; }
    set { loginModel = value; }
  }

  private ProjectsModel projectsModel;
  public ProjectsModel ProjectsModel {
    get { return projectsModel; }
    set { projectsModel = value; }
  }

  public ModelProviderService() {
    loginModel = new LoginModel();
    projectsModel = new ProjectsModel();
  }    
}

Nun, hier ist was passieren soll:

Ein Ansichtsmodell ändert eine Eigenschaft von z.B. dasLoginModel Eigentum.Das Ansichtsmodell überträgt die Modelleigenschaft zurück an den Dienst, indem es seine Eigenschaft festlegt:modelService.LoginModel.MyProperty = localLoginModel.MyProperty;Der Dienst veröffentlicht eine Nachricht: "Hey, mein Modell des TypsLoginModel gerade geändert. "Jedes andere Ansichtsmodell, das diese Nachricht abonniert hat, ruft dieses geänderte Modell aus dem Dienst ab.

Wie kann ich implementieren:

die "sendebotschaft"?das Abonnement für die Nachricht?

Antworten auf die Frage(2)

Ihre Antwort auf die Frage