wpf自定义Mvvm框架

Posted sclu

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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 }

以上是关于wpf自定义Mvvm框架的主要内容,如果未能解决你的问题,请参考以下文章

C# WPF MVVM开发框架Caliburn.Micro自定义引导程序④

WPF Prism框架下基于MVVM模式的命令绑定事件

WPF自定义控件与样式(14)-轻量MVVM模式实践

C# mvvmlight model数据非自己定义可以绑定吗

C# mvvmlight model数据非自己定义可以绑定吗

将wpf datagrid导出为自定义Excel CSV文件