bool DefaultDispatchCommand (ActionCommand cmd, CommandInfo info, object dataItem, object target, CommandSource source)
{
DefaultUpdateCommandInfo (cmd, info);
if (cmd.CommandArray) {
//if (info.ArrayInfo.FindCommandInfo (dataItem) == null)
// return false;
}
else if (!info.Enabled || !info.Visible)
return false;
if (cmd.DefaultHandler == null) {
if (cmd.DefaultHandlerType == null)
return false;
cmd.DefaultHandler = (CommandHandler) Activator.CreateInstance (cmd.DefaultHandlerType);
}
OnCommandActivating (cmd.Id, info, dataItem, target, source);
var t = DateTime.Now;
try {
cmd.DefaultHandler.InternalRun (dataItem);
} finally {
OnCommandActivated (cmd.Id, info, dataItem, target, source, DateTime.Now - t);
}
return true;
}