mirror of
https://gitee.com/langsisi_admin/serein-flow
synced 2026-03-03 00:00:49 +08:00
27 lines
735 B
C#
27 lines
735 B
C#
using System.Windows.Input;
|
|
|
|
namespace Serein.Workbench.Node
|
|
{
|
|
|
|
public class RelayCommand : ICommand
|
|
{
|
|
private readonly Action<object> _execute;
|
|
private readonly Func<object, bool> _canExecute;
|
|
|
|
public RelayCommand(Action<object> execute, Func<object, bool> canExecute = null)
|
|
{
|
|
_execute = execute;
|
|
_canExecute = canExecute;
|
|
}
|
|
|
|
public event EventHandler CanExecuteChanged;
|
|
|
|
public bool CanExecute(object parameter) => _canExecute == null || _canExecute(parameter);
|
|
|
|
public void Execute(object parameter) => _execute(parameter);
|
|
|
|
public void RaiseCanExecuteChanged() => CanExecuteChanged?.Invoke(this, EventArgs.Empty);
|
|
}
|
|
|
|
}
|