using System; using System.Net; using System.Windows; using System.Windows.Controls; using System.Windows.Documents; using System.Windows.Ink; using System.Windows.Input; using System.Windows.Media; using System.Windows.Media.Animation; using System.Windows.Shapes; namespace TypeDefinition.Models { public class DelegateCommand : ICommand { public Action ExecuteHandler { get; set; } public Func CanExecuteHandler { get; set; } public bool CanExecute(object parameter) { var d = CanExecuteHandler; return d == null ? true : d(parameter); } public event EventHandler CanExecuteChanged; public void Execute(object parameter) { var d = ExecuteHandler; if (d != null) d(parameter); } public void RaiseCanExecuteChanged() { var d = this.CanExecuteChanged; if (d != null) d(this, null); } } }