Files
mpv.net/src/WPF/RelayCommand.cs
Frank Skare bac8b2b96c misc
2021-06-22 19:10:27 +02:00

28 lines
772 B
C#

using System;
using System.Windows.Input;
namespace mpvnet
{
public class RelayCommand : ICommand
{
public event EventHandler CanExecuteChanged;
Action<object> ExecuteAction;
Predicate<object> CanExecutePredicate;
public RelayCommand(Action<object> executeAction, Predicate<object> canExecutePredicate = null)
{
ExecuteAction = executeAction;
CanExecutePredicate = canExecutePredicate;
}
public bool CanExecute(object parameter) => CanExecutePredicate == null || CanExecutePredicate(parameter);
public void Execute(object parameter) => ExecuteAction(parameter);
public void OnCanExecuteChanged() => CanExecuteChanged?.Invoke(this, EventArgs.Empty);
}
}