zoukankan      html  css  js  c++  java
  • WPF之ViewModel

       写之前我先唠叨两句,现在公司要求用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该数据发生了变化) 下图的方法用来监听数据是否发生变化,发生变化后会通知用到该数据的地方让他们自己修改。
    3. mvvm要做什么。
      • 大白话说,MVVM框架,要做的最基本的事情就是数据绑定和命令绑定。因为页面UI中会产生大量的事件,因此还需要将事件绑定到MVVM中的命令上。

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

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

  • 相关阅读:
    【转】zigbee终端无法重连的问题解决
    【转】ZigBee终端入网方式深入分析
    【转译】加入ZigBee联盟,共画物联网的未来
    zigbee 路由节点丢失后清除 该节点的残余网络信息
    【转】ZigBee是如何组网的?
    关于zigbee 网络拓扑节点数量的一点说明
    ZHA profile与ZLL profile的一个例子
    AJAX防重复提交的办法总结
    数组去重的几种方式
    order-image详解
  • 原文地址:https://www.cnblogs.com/f-z-h/p/7270171.html
Copyright © 2011-2022 走看看