mvvm基本结构注意事项。
这几天初学mvvm,为了自己以后总结,也帮助初学者,写下以下心得。
1:mvvm主要精力在vm上,model连接数据实体类,ViewModel处理各种事务。
2:设计时的顺序:
1)心中对基本界面上的元素要有一个基本的构思就行,包括哪些元素,实现哪些功能,至于具体的布局和美化不用在意。最好为每个元素定义好名字。
2)对模块Model进行设计,基本上就是数据实体化,有什么类属性、字段就写出来。最好是与View中想好的元素名字对应。
3)对ViewModel进行设计,实体化并得到具体数据 或者行为。可以是属性、方法、指令等。
4)对ViewModelLocator进行ViewModel的类进行注册,并设置获取ViewModel类实体的方法或者属性名。
5)对View进行设计。
通过以上,基本就可以用了。
3:初学注意点:
类文件都先在头部加上using GalaSoft.MvvmLight;
1)Model进行设计的时候,
类一定要继承ObservableObject
属性set中要加入RaisePropertyChanged(()=>abc),其中abc为对应的属性名称。
2)在ViewModel设计中
一定要继承ViewModelBase
属性中一样加入RaisePropertyChanged(()=>abc),其中abc为对应的属性名称。
头部文件最好加上对应的Model对应的类的引用。如using 项目名.Model;如果不带此引用,在声明变量的时候,要用全路径如:private 项目名.Model名 变量名。
3)View窗口源文件头部要加入:DataContext="{Binding Source={StaticResource Locator},Path=对应的VM名称}"
以上写完基本的最简单的程序就能运行了。