用C#写程序也有好几个年头了,一直都停留在很基础的阶段。今年抽空学了一下用EF6去访问数据库,后来考虑到手持段的共同开发,考虑数据用Django Restful去实现,C# wpf和Android 一起作为客户端去访问。
于是遇到一个共同的问题:如何用MVVM简化开发。以前看到这种术语我个人比较排斥,因为我编程序是从汇编开始的,喜欢从新造轮子,而且轮子也造得不好。
Prism是C#上面一个MVVM的工具,于是我今天上午捣鼓了一下,参照Prism官网的方法,搭建了一下脚手架。
MVVM帮我们把“干活”的代码,和“显示”的代码分开了,确实很清楚。按照Prism的要求,文件夹也是老老实实得建,尤其是Views和ViewModels,一定要逐个字母检查。因为它有一个默认的“从View寻找ViewModel”的机制,会去关联这两个文件夹。
因为我创建项目时,没有先去建这两个文件夹,把文件分类,导致View和Viewmodel没有能够关联上。查阅了很多英文资料才发现这个问题,于是改了文件夹(还不够,还得看看文件里的namespace是否也改过来了)
只是系统里面一个录入界面,我们仓储部的同事有时候需要去机器上做一下入库(大部分入库是检验部同事做的)。
最近我尝试了wpf之后,我发现确实比winform好用,而且漂亮,特别是引用了谷歌的MaterialDesign之后,界面美观很多。
从普通的wpf项目,改成使用Prism框架,需要改几个地方(请注意所有出现prism的地方
步骤一 按照MVVM的标准,创建文件夹(也可以叫做Module吧?好像android studio这么叫)
步骤二 修改App.xaml
<prism:PrismApplication x:Class="WpfDog.App"
xml