首页 > 技术文章 > MVVM命令绑定原理

qq247039968 2014-10-12 13:06 原文

跟据网上前辈们的资料。了解到命令在MVVM绑定有三种行式。

1.DelegateCommand

2.RelayCommand

3.AttachbehaviorCommand

 1 /// <summary>
 2     /// Delegatecommand,继承一个命令接口。
 3     /// </summary>
 4     public class DelegateCommand : ICommand
 5     {
 6         Func<object, bool> canExecute;
 7         Action<object> executeAction;
 8         bool canExecuteCache;
 9 
10         public DelegateCommand(Action<object> executeAction, Func<object, bool> canExecute)
11         {
12             this.executeAction = executeAction;
13             this.canExecute = canExecute;
14         }
15 
16         #region ICommand Members
17 
18         public bool CanExecute(object parameter)
19         {
20             bool temp = canExecute(parameter);
21 
22             if (canExecuteCache != temp)
23             {
24                 canExecuteCache = temp;
25                 if (CanExecuteChanged != null)
26                 {
27                     CanExecuteChanged(this, new EventArgs());
28                 }
29             }
30 
31             return canExecuteCache;
32         }
33 
34         public event EventHandler CanExecuteChanged;
35 
36         public void Execute(object parameter)
37         {
38             executeAction(parameter);
39         }
40 
41         #endregion
42     }
在代码中不难看出这两个变量。
Func<object, bool> canExecute; Action<object> executeAction;

具体这两种变量的含义网上有很多。可以百度。http://www.cnblogs.com/fish124423/archive/2012/05/16/2504304.html

 

推荐阅读