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名称}"

以上写完基本的最简单的程序就能运行了。