c# – 将WPF应用程序转换为MVVM时必须知道的事项的一般清单

我正在使用一个vanilla
WPF应用程序并将其转换为使用MVVM模式.在我评估代码期间,我编制了一个在转换应用程序之前需要了解的主题列表.我的列表看起来有点像这样:

>动态加载xaml(虽然这是我的应用程序特有的)
>绑定xaml以查看模型命令(按钮,工具栏,菜单项)
>热键
>将视图模型命令绑定到事件(窗口大小更改,鼠标事件等)
>处理对话框(消息框,文件对话框,用户设计的对话框等)

我已经为每个项目提供了各种解决方案,因此我不会询问如何执行这些操作.我的实际问题是:我错过了什么吗?还有什么我需要知道的?

另一种看待它的方法是我是否正在制作WPF WVVM工具包.它需要什么样的特性和功能,以便开发人员可以创建MVVM应用程序?

谢谢!

最佳答案 我认为你有基本的MVVM问题.您可能仍需要的是“当我的应用程序对于MVVM来说过于复杂时我该怎么办?”这种情况发生得相当快 – 超过几个视图,并且您得到了一个视图模型爆炸,或者您获得了单一的视图模型,这些模型变得繁琐且难以维护.

我建议将Composite WPF(Prism)框架作为该问题的一种解决方案. Prism是一种架构框架,它简化了将应用程序划分为彼此或多或少相互独立的模块的过程.每个模块可以有一个或两个视图(一个可能是最常见的),每个视图可以有自己的视图模型.它以非常松散耦合的方式组织模块之间的通信工作做得很好.模块加载到Shell窗口中,可以根据需要进行配置.

希望有所帮助!

点赞