public class RelayCommand:ICommand
{
private Predicate<object> _canExecute;
private Action<object> _execute; public RelayCommand(Predicate<object> canExecute, Action<object> execute)
{
this._canExecute = canExecute;
this._execute = execute;
} public event EventHandler CanExecuteChanged
{
add { CommandManager.RequerySuggested += value; }
remove { CommandManager.RequerySuggested -= value; }
} public bool CanExecute(object parameter)
{
return _canExecute(parameter);
} public void Execute(object parameter)
{
_execute(parameter);
}
}

使用:

public class MyViewModel
{
private ICommand _doSomething;
public ICommand DoSomethingCommand
{
get
{
if (_doSomething == null)
{
_doSomething = new RelayCommand(
p => this.CanDoSomething,
p => this.DoSomeImportantMethod());
}
return _doSomething;
}
}
}

其中,Predicate<object>:

最新文章

  1. 【简易版】HashMap(增删改查)
  2. Android开发学习---使用XmlPullParser解析xml文件
  3. [转]Jenkins Xcode打包ipa
  4. 二模02day1解题报告
  5. 电脑Win7如何取得文件管理所有权(提供各种GHOST版本的Windows)
  6. 自定义Dialog,从下面弹出
  7. 微信小程序采坑
  8. Netty 系列七(那些开箱即用的 ChannelHandler).
  9. LoadRunner脚本参数化之设置条件与运行结果说明
  10. 记账本,C,Github,util
  11. 批量屏蔽符合条件的IP地址,支持添加白名单,IP段,增量,大于指定次数的IP
  12. Hadoop.之.入门部署
  13. 同一台主机部署两个比特币钱包以及rpc服务的摘要
  14. Android 模拟输入那点事
  15. 好汉两个半第一季/全集Two And A Half Men迅雷下载
  16. windows取证
  17. DEMO: springboot 与 freemarker 集成
  18. [SQLServer] 内存占用查看
  19. kalilinux、parrotsecos没有声音
  20. 03:成绩排序 个人博客:doubleq.win

热门文章

  1. Java中的名称命名规范
  2. 齐博x1细节优化,自定义二、三、四维字段支持自定描述
  3. pta第一次博客
  4. .NET性能优化-是时候换个序列化协议了
  5. zk系列三:zookeeper实战之分布式锁实现
  6. 直播CDN调度技术关键挑战与架构设计
  7. htaccess如何配置隐藏index.php文件
  8. netty系列之:在netty中使用proxy protocol
  9. (GDB) GDB调试技巧,调试命令
  10. 线性时间选择(含平均情况O(n)和最坏情况O(n)算法)