码迷,mamicode.com
首页 > Windows程序 > 详细

wpf自定义Mvvm框架

时间:2020-01-10 18:36:30      阅读:109      评论:0      收藏:0      [点我收藏+]

标签:command   parameter   imp   handle   dem   thread   return   tar   func   

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 }

wpf自定义Mvvm框架

标签:command   parameter   imp   handle   dem   thread   return   tar   func   

原文地址:https://www.cnblogs.com/sclu/p/12177491.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!