1
0
Fork 0
mirror of https://github.com/hawkeye-stan/msfs-popout-panel-manager.git synced 2024-11-26 15:50:11 +00:00
msfs-popout-panel-manager/WpfApp/ViewModel/DelegateCommand.cs

26 lines
818 B
C#
Raw Normal View History

2022-01-27 13:40:04 +00:00
using System;
using System.Windows.Input;
namespace MSFSPopoutPanelManager.WpfApp.ViewModel
{
public class DelegateCommand : ICommand
{
private readonly Action<object> _executeAction;
private readonly Func<object, bool> _canExecuteAction;
public DelegateCommand(Action<object> executeAction, Func<object, bool> canExecuteAction)
{
_executeAction = executeAction;
_canExecuteAction = canExecuteAction;
}
public void Execute(object parameter) => _executeAction(parameter);
public bool CanExecute(object parameter) => _canExecuteAction?.Invoke(parameter) ?? true;
public event EventHandler CanExecuteChanged;
public void InvokeCanExecuteChanged() => CanExecuteChanged?.Invoke(this, EventArgs.Empty);
}
}