WPF之ViewModel

时间:2023-03-08 21:00:18

写之前我先唠叨两句,现在公司要求用wpf写个客户端,我之前玩过winform,没怎么用wpf写过正经项目,我接手这个wpf项目之后就开始研究这个东西,MVVM,自定义控件,等等。可能是winfrom先入为主的思想,导致了我以为wpf可以按照winfrom的模式来开发,viewmodel,不就是提供数据的吗,可是在我仔细研究之后我发现,mvvm模式开发wpf简直是神器。好了,废话不多说了,下面开始今天的正题。

  1. 初识wpf的mvvm模式  
    • model:实体对象(不做过多的解释。)
    • View:视图,在wpf中的ui布局。
    • ViewModel:视图模型。
  2. mvvm的好处
    • 降低view 层与model层的耦合。
    • viewmodel中可以绑定事件。(我刚开始接触wpf的时候,把事件写到视图的.cs文件中,现在想想真是。。。)
    • /// <summary>
      /// 命令
      /// </summary>
      public ICommand LoadCommand { get; set; }
      public LogoViewModel()
      {
      LoadCommand = new RelayCommand(Click); } private void Click()
      {
      MessageBox.Show("这是弹出框事件");
      }
    • 双向绑定(数据发生变化后自动通知model该数据发生了变化) 下图的方法用来监听数据是否发生变化,发生变化后会通知用到该数据的地方让他们自己修改。
    • WPF之ViewModel
  3. mvvm要做什么。
    • 大白话说,MVVM框架,要做的最基本的事情就是数据绑定和命令绑定。因为页面UI中会产生大量的事件,因此还需要将事件绑定到MVVM中的命令上。

今天就写到这里,如果小弟写的有什么问题,欢迎各位大牛多多指正。

待续未完。。。  明天会持续更新。