GameEngine游戏引擎前端界面wpf页面实现

1.RelayCommon.cs

using System.Windows.Input;

namespace PrimalEditor.Common

{

public class RelayCommand<T> : ICommand

{

private readonly Action<T> _execute;

private readonly Predicate<T> _canExecute;

public event EventHandler CanExecuteChanged

{

add { CommandManager.RequerySuggested += value; }

remove { CommandManager.RequerySuggested -= value; }

}

public bool CanExecute(object parameter)

{

return _canExecute?.Invoke((T)parameter) ?? true;

}

public void Execute(object parameter)

{

_execute((T)parameter);

}

public RelayCommand(Action<T> execute, Predicate<T> canExecute = null)

{

_execute = execute ?? throw new ArgumentNullException(nameof(execute));

_canExecute = canExecute;

}

}

}

相关推荐
前端小咸鱼一条7 分钟前
19. React的高阶组件
前端·javascript·react.js
狮子座的男孩37 分钟前
js基础:10、函数对象方法(call/apply)、arguments类数组对象、Date对象、Math工具类、包装类、字符串方法、正则表达式
前端·javascript·正则表达式·包装类·字符串方法·arguments·date对象
jackzhuoa1 小时前
Rust 异步核心机制剖析:从 Poll 到状态机的底层演化
服务器·前端·算法
JIngJaneIL1 小时前
财务管理|基于SprinBoot+vue的个人财务管理系统(源码+数据库+文档)
java·前端·数据库·vue.js·spring boot·毕设·财务管理系统
qq_338032921 小时前
VUE的生命周期钩子,vue2和vue3的生命周期钩子的核心差异
前端·javascript·vue.js
IT_陈寒1 小时前
Vue3性能翻倍秘籍:5个Composition API技巧让你的应用快如闪电⚡
前端·人工智能·后端
Dontla1 小时前
npm install命令介绍
前端·npm·node.js
天天向上10242 小时前
vue2 vue3 修改elementUI和elementPlus主题颜色
前端·javascript·elementui
Zhangzy@2 小时前
Rust Workspace 构建多项目体系
开发语言·前端·rust
通往曙光的路上2 小时前
day23_密码加密 前端验证码 监听器 svn版本控制
前端·svn