2010-07-17 4 views
8

Attualmente sto creando un'applicazione basata su MVVM. L'applicazione dovrebbe anche avere una procedura guidata in stile MVVM. Il mago non è un normale mago, è un particolare tipo di mago. Il mio obiettivo è quello di implementare una procedura guidata conProcedura guidata MVVM

1.) ha anche più filiali. Il mago può guidarti in un'altra direzione. Quindi il mago non deve essere semplice.

2.) può anche avere scorciatoie. È possibile saltare alcune pagine in cui sono stati impostati i valori predefiniti.

3.) è anche normale, semplice.

Nota, alcune informazioni nelle pagine di Wizrad sono al volo. Ciò significa che le informazioni possono essere passate tra ogni passaggio e elaborate.

Ci sono approcci come modelli per risolvere il mio problema? Come posso implementarlo nel modo migliore?

risposta

2

Se il mago ha una sola macchina virtuale che memorizza lo stato/risultati di ogni passo e si siede dietro una vista che è un controllo utente ...

Si potrebbe avere un frame sulla vista procedura guidata che richiede 2 eventi nel codice sottostante (Questo ovviamente dipende dal fatto che la tua architettura MVVM possa convivere con questo?).

Evento 1) Quando il collegamento del passo delle procedure guidate aumenta la sua NotifyPropertyChanged: dire al frame di "Navigare" alla pagina appropriata (come descritto in una proprietà nella VM della procedura guidata).

Evento 2) Sull'evento "Navigated" in modo che sia possibile puntare il contesto dati della pagina corrente sulla VM.

In questo modo la procedura guidata ViewModel controlla lo stato della procedura guidata dall'inizio alla fine ed è anche in grado di descrivere i passi, che possono essere facilmente aggiunti, modificati, ecc

Ovviamente questo non può stare bene con tutti è vista di MVVM.

2

si potrebbe avere uno sguardo alla ViewModel applicazione campione della WPF Application Framework (WAF). Mostra come implementare una procedura guidata in un modo MVVM.