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.
UserControl3
view-model è publisher eUserControl1
model è subscriber. Per questo dovrò creare un ID univoco inUserControl3
e passarlo aWindow
eUserControl1
. -
Creazione dell'istanza del servizio in
UserControl3
e passaggio aWindow
eUserControl1
. QuindiUserControl3
invoca semplicemente il metodo su questa istanza. -
UserControl1
passaWindow
istanza aUserControl2
. Il modello di vista inUserControl1
invocherà solo il metodoUserControl1
, che invocherà il metodoUserControl2
e così via.
Sembra che gli approcci 2 e 3 violino MVVM. Cosa preferiresti?