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;

}

}

}

相关推荐
前端一小卒几秒前
一个看似“送分”的需求为何翻车?——前端状态机实战指南
前端·javascript·面试
syt_10134 分钟前
Object.defineProperty和Proxy实现拦截的区别
开发语言·前端·javascript
遝靑7 分钟前
Flutter 跨端开发进阶:可复用自定义组件封装与多端适配实战(移动端 + Web + 桌面端)
前端·flutter
cypking13 分钟前
Web前端移动端开发常见问题及解决方案(完整版)
前端
老前端的功夫18 分钟前
Vue 3 vs Vue 2 深度解析:从架构革新到开发体验全面升级
前端·vue.js·架构
栀秋66628 分钟前
深入浅出链表操作:从Dummy节点到快慢指针的实战精要
前端·javascript·算法
狗哥哥44 分钟前
Vue 3 动态菜单渲染优化实战:从白屏到“零延迟”体验
前端·vue.js
青青很轻_1 小时前
Vue自定义拖拽指令架构解析:从零到一实现元素自由拖拽
前端·javascript·vue.js
树下水月1 小时前
纯HTML 调用摄像头 获取拍照后的图片的base64
前端·javascript·html
蜗牛攻城狮1 小时前
Vue 中 `scoped` 样式的实现原理详解
前端·javascript·vue.js