Ste*_*unn 9 wpf design-patterns mvvm
我有一个MVVM应用程序.其中一个ViewModels是填充ObservableCollection的'FindFilesCommand'.然后我在同一个ViewModel中实现'RemoveFilesCommand'.然后,此命令将打开一个窗口以获取更多用户输入.
在保持MVVM范式的同时/最佳方式是什么?不知怎的做:
new WhateverWindow( ).Show( )
在ViewModel中似乎错了.
干杯,
史蒂夫
我个人认为这种情况是主窗口视图模型想要为最终用户完成一项任务。
它应该负责创建任务并初始化它。视图应该负责创建和显示子窗口,并将任务用作新实例化窗口的视图模型。
任务可以取消或提交。完成后它会发出通知。
窗口使用通知自行关闭。一旦任务提交,如果有后续工作,父视图模型将使用通知执行其他工作。
我相信这与人们使用代码隐藏方法所做的自然/直观的事情一样接近,但经过重构以将独立于 UI 的关注点拆分为视图模型,而不会引入额外的概念开销(例如服务等)。
我有一个针对 Silverlight 的实现。有关更多详细信息,请参阅http://www.nikhilk.net/ViewModel-Dialogs-Task-Pattern.aspx ...我很想听到对此的评论/进一步建议。
| 归档时间: |
|
| 查看次数: |
2710 次 |
| 最近记录: |