[ComVisible(false)]
public abstract class CommandBase : ICommand
{
public virtual bool CanExecute(object parameter)
{
return true;
}
public abstract void Execute(object parameter);
public event EventHandler CanExecuteChanged;
protected void OnCanExecuteChanged()
{
var handler = CanExecuteChanged;
if (handler != null)
{
handler.Invoke(this, EventArgs.Empty);
}