Files
QuickMVVM/QuickMVVMSetup/RelayCommand.cs
2022-08-08 08:01:47 +02:00

36 lines
931 B
C#

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Input;
namespace QuickMVVMSetup
{
public class RelayCommand : ICommand
{
public event EventHandler? CanExecuteChanged;
private Action<object> _executeAction;
private Func<object, bool> _canExecuteAction;
public bool CanExecute(object? parameter)
{
if (_canExecuteAction == null)
{
return true;
}
return _canExecuteAction.Invoke(parameter);
}
public void Execute(object? parameter)
{
_executeAction.Invoke(parameter);
}
public RelayCommand(Action<object> executeAction, Func<object, bool> canExecuteFunc)
{
_executeAction = executeAction;
_canExecuteAction = canExecuteFunc;
}
}
}