• wpf自定义Mvvm框架


    1.DelegateCommand.cs

     1 using System;
     2 using System.Collections.Generic;
     3 using System.Linq;
     4 using System.Text;
     5 using System.Threading.Tasks;
     6 using System.Windows.Input;
     7 
     8 namespace SimpleMvvmDemo.Commands
     9 {
    10     class DelegateCommand : ICommand
    11     {
    12 
    13         public event EventHandler CanExecuteChanged;
    14 
    15         public bool CanExecute(object parameter)
    16         {
    17             // throw new NotImplementedException();
    18             if(this.CanExecuteFunc==null)
    19             {
    20                 return true;
    21             }
    22             this.CanExecuteFunc(parameter);
    23             return true;
    24         }
    25 
    26         public void Execute(object parameter)
    27         {
    28             //throw new NotImplementedException();
    29             if(this.ExecuteAction==null)
    30             {
    31                 return;
    32             }
    33             this.ExecuteAction(parameter); //命令->Execute->Execute指向的方法
    34         }
    35 
    36         public Action<object> ExecuteAction { get; set; }
    37         public Func<object, bool> CanExecuteFunc { get; set; }
    38     }
    39 }

    2。NotificationObject.cs

     1 using System;
     2 using System.Collections.Generic;
     3 using System.ComponentModel;
     4 using System.Linq;
     5 using System.Text;
     6 using System.Threading.Tasks;
     7 
     8 namespace SimpleMvvmDemo.viewmodel
     9 {
    10     //viewmodel的基类
    11     class NotificationObject : INotifyPropertyChanged 
    12     {
    13         public event PropertyChangedEventHandler PropertyChanged;
    14         public void RaisePropertyChanged(string propertyName)
    15         {
    16             if(this.PropertyChanged!=null)
    17             {
    18                 //binding监控changed
    19                 this.PropertyChanged.Invoke(this, new PropertyChangedEventArgs(propertyName)); 
    20             }
    21         }
    22     }
    23 }
  • 相关阅读:
    flex 连接mysql
    正确配置调试world wind on vs2008
    FLex调用servlet连接数据库
    c# 连接mysql并webservice数据
    ADF连接SOM
    转载加收藏关于OPENGL配置VS2008
    flex不能显示本地发布的地图
    Symbian专区
    asp.net控件开发基础學習
    控制网页大小
  • 原文地址:https://www.cnblogs.com/sclu/p/12177491.html
Copyright © 2020-2023  润新知