using System; using System.Windows.Input; namespace SHJX.Service.Common.ElementHelper { /// /// 实现DelegateCommand /// class CustomDelegateCommand : ICommand { #region Property /// /// 命令所需执行的事件 /// public Action ExecuteCommand { get; set; } /// /// 命令是否可用所执行的事件 /// public Func CanExecuteCommand { get; set; } #endregion public CustomDelegateCommand() { } public CustomDelegateCommand(Action execute, Func canexecute) { ExecuteCommand = execute; CanExecuteCommand = canexecute; } /// /// 命令可用性获取 /// /// /// public bool CanExecute(object parameter) { return CanExecuteCommand(parameter); } public event EventHandler CanExecuteChanged { add { CommandManager.RequerySuggested += value; } remove { CommandManager.RequerySuggested -= value; } } /// /// 命令具体执行 /// /// public void Execute(object parameter) { ExecuteCommand(parameter); } } }