【问题标题】:MVVM like wizard类似 MVVM 的向导
【发布时间】:2010-07-17 21:04:31
【问题描述】:

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

实现一个向导

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

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

3.) 也很正常——直截了当。

请注意,向导页面中的某些信息是即时的。这意味着,信息可以在每个步骤之间传递并进行处理。

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

【问题讨论】:

    标签: c# wpf mvvm branch wizard


    【解决方案1】:

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

    【讨论】:

      【解决方案2】:

      您可以查看 WPF Application Framework (WAF)ViewModel 示例应用程序。它展示了如何以 MVVM 方式实现向导。

      【讨论】:

        【解决方案3】:

        如果您的向导有一个单独的虚拟机来存储每个步骤的状态/结果,并且位于作为用户控件的视图后面...

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

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

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

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

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

        【讨论】:

          猜你喜欢
          • 2022-11-16
          • 2013-05-12
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2010-11-04
          相关资源
          最近更新 更多