void OnEvent(object sender, object eventArgs) { if (Command.IsNull()) { return; } object resolvedParameter; if (CommandParameter.IsNotNull()) { resolvedParameter = CommandParameter; } else if (Converter.IsNotNull()) { resolvedParameter = Converter.Convert(eventArgs, typeof(object), null, null); } else { resolvedParameter = eventArgs; } if (Command.CanExecute(resolvedParameter)) { Command.Execute(resolvedParameter); } }