Browse Source

call canexecute before execute for button/menu command

pull/2298/head
Andrey Kunchev 8 years ago
parent
commit
91e678baf8
  1. 2
      src/Avalonia.Controls/Button.cs
  2. 2
      src/Avalonia.Controls/MenuItem.cs

2
src/Avalonia.Controls/Button.cs

@ -217,7 +217,7 @@ namespace Avalonia.Controls
var e = new RoutedEventArgs(ClickEvent);
RaiseEvent(e);
if (Command != null)
if (!e.Handled && Command?.CanExecute(CommandParameter) == true)
{
Command.Execute(CommandParameter);
e.Handled = true;

2
src/Avalonia.Controls/MenuItem.cs

@ -287,7 +287,7 @@ namespace Avalonia.Controls
/// <param name="e">The click event args.</param>
protected virtual void OnClick(RoutedEventArgs e)
{
if (Command != null)
if (!e.Handled && Command?.CanExecute(CommandParameter) == true)
{
Command.Execute(CommandParameter);
e.Handled = true;

Loading…
Cancel
Save