Ecco l'applicazione WPF composta dal 3% di% di sconto:
UserControl è una parte del contenuto di UserControl3 . Tengo MVVM durante lo sviluppo e l'utilizzo di Prism .
Devo invocare il metodo di classe personalizzato (che è modello in termini di MVVM) in UserControl2 da modello di vista di UserControl3 . La restrizione che il servizio in UserControl1 non può essere singleton. Suppongo di farlo in uno dei seguenti modi:
-
Uso di un aggregatore di eventi da Prism.
UserControl3view-model è publisher eUserControl1model è subscriber. Per questo dovrò creare un ID univoco inUserControl3e passarlo aWindoweUserControl1. -
Creazione dell'istanza del servizio in
UserControl3e passaggio aWindoweUserControl1. QuindiUserControl3invoca semplicemente il metodo su questa istanza. -
UserControl1passaWindowistanza aUserControl2. Il modello di vista inUserControl1invocherà solo il metodoUserControl1, che invocherà il metodoUserControl2e così via.
Sembra che gli approcci 2 e 3 violino MVVM. Cosa preferiresti?