Mercurial > silverbladetech
view SilverlightValidation/SilverlightValidation.PL/Commands/RelayCommand.cs @ 96:188f8b366e87
Unit test project correctly setup as normal class library DLL.
author | stevenhollidge <stevenhollidge@hotmail.com> |
---|---|
date | Sat, 05 May 2012 13:29:56 +0100 |
parents | SilverlightValidation/SilverlightValidation/Commands/RelayCommand.cs@241e2f22ed3c |
children |
line wrap: on
line source
using System; using System.Windows.Input; namespace SilverlightValidation.Commands { public class RelayCommand : ICommand { public event EventHandler CanExecuteChanged = delegate { }; readonly Action<object> _execute; readonly Predicate<object> _canExecute; public RelayCommand(Action<object> execute, Predicate<object> canExecute = null) { if (execute == null) throw new ArgumentNullException("execute"); _execute = execute; _canExecute = canExecute; } public void UpdateCanExecuteCommand() { CanExecuteChanged(this, new EventArgs()); } public bool CanExecute(object parameter) { return _canExecute == null || _canExecute(parameter); } public void Execute(object parameter) { _execute(parameter); } } }