类似MVVM的向导

9
我正在构建一个基于MVVM的应用程序。该应用程序还应具有采用MVVM风格的向导。该向导不是普通的向导,而是特定类型的向导。我的目标是实现一个具有以下功能的向导:
1. 具有多个分支。向导可以引导您朝其他方向前进。因此,向导不必是直接的。
2. 可以使用快捷方式。您可以跳过设置默认值的某些页面。
3. 也可以是正常的-直接的。
请注意,向导页面中的某些信息是即时的。这意味着,信息可以在每个步骤之间传递并进行处理。
是否有像模式这样的方法来解决我的问题?我该如何最好地实现它?
3个回答

9

3

2
如果您的向导只有一个虚拟机来存储每个步骤的状态/结果,并位于用户控件视图后面...
您可以在向导视图上添加一个框架,需要在代码后台中使用2个事件(这显然取决于您的MVVM架构是否能够接受这种方式?)。
事件1)当您的向导步骤绑定引发其NotifyPropertyChanged时:告诉您的框架“导航”到适当的页面(如在向导VM中的属性中描述)。
事件2)在框架“导航”事件中,以便您可以将当前页面的数据上下文指向您的VM。
这样,向导视图模型就可以从头到尾地控制向导的状态,还可以描述步骤,这些步骤可以轻松添加、编辑等。
显然,这种方式可能不符合每个人对MVVM的看法。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接