MVVM就像向导一样

时间:2010-07-17 21:04:32

标签: c# wpf mvvm branch wizard

我目前正在构建基于MVVM的应用程序。该应用程序还应具有MVVM样式的向导。该向导不是一个普通的向导,它是一种特殊的向导。我的目标是使用

实现向导

1。)也有多个分支。该向导可以指导您向其他方向发展。所以向导一定不能直截了当。

2.)也可以有捷径。您可以跳过设置默认值的某些页面。

3。)也很正常 - 直截了当。

请注意,wizrad页面中的一些信息是即时的。这意味着,信息可以在每个步骤之间传递和处理。

有没有像模式这样的方法来解决我的问题?我如何以最佳方式实施它?

3 个答案:

答案 0 :(得分:9)

你是否在CodeVM中阅读了关于MVVM中的向导的这篇好文章,并由两位MVVM大师编写: http://www.codeproject.com/KB/WPF/InternationalizedWizard.aspx?display=Print

答案 1 :(得分:3)

答案 2 :(得分:2)

如果你的向导有一个存储每个步骤的状态/结果的VM,并且位于一个用户控件的视图后面......

你可以在向导视图中有一个框架,后面的代码需要2个事件(这显然取决于你的MVVM架构是否可以使用它?)。

事件1)当您的向导步骤绑定时会引发其NotifyPropertyChanged:告诉您的帧“导航”到相应的页面(如向导VM中的属性中所述)。

事件2)在“Navigated”事件框架上,以便您可以将当前页面数据上下文指向VM。

这样,向导视图模型从头到尾控制向导的状态,它还可以描述可以轻松添加,编辑等的步骤。

显然,这可能不适合每个人对MVVM的看法。