2010-07-17 66 views
8

我目前正在構建一個基於MVVM的應用程序。應用程序還應該有一個MVVM風格的嚮導。該向導不是普通的嚮導,它是一種特殊的嚮導。我的目標是實現一個精靈MVVM like wizard

1.)也有多個分支。該向導可以引導你在其他方向。所以這個嚮導不能很簡單。

2.)也可以有捷徑。您可以跳過一些設置了默認值的頁面。

3.)也很正常 - 很簡單。

請注意,wizrad頁面中的一些信息是即時的。這意味着,信息可以在每個步驟之間傳遞並進行處理。

有沒有像模式的任何方法來解決我的問題?我如何以最佳方式實現它?

回答

2

如果你的嚮導具有存儲每一步的狀態/結果,坐在一個觀點,即是用戶控制後的單臺虛擬機...

你可能會對需要2個事件嚮導視圖幀在後面的代碼中(這顯然取決於您的MVVM架構是否可以忍受這一點?)。

事件1)當您的嚮導步驟的綁定引發NotifyPropertyChanged時:將您的框架告訴「導航」到適當的頁面(如嚮導VM中的屬性所述)。

事件2)在「導航」事件框架上,以便您可以將當前頁面的數據上下文指向虛擬機。

這樣視圖模型控制從啓動向導的狀態嚮導完成,它也可以描述的步驟,它可以很容易地加入,編輯等。

顯然,這可能不是坐好大家的MVVM的視圖。