diff --git a/src/Avalonia.Controls/Button.cs b/src/Avalonia.Controls/Button.cs index f572c67284..5ed0abf25d 100644 --- a/src/Avalonia.Controls/Button.cs +++ b/src/Avalonia.Controls/Button.cs @@ -32,6 +32,8 @@ namespace Avalonia.Controls /// public class Button : ContentControl { + private ICommand _command; + /// /// Defines the property. /// @@ -69,8 +71,6 @@ namespace Avalonia.Controls public static readonly RoutedEvent ClickEvent = RoutedEvent.Register(nameof(Click), RoutingStrategies.Bubble); - private ICommand _command; - public static readonly StyledProperty IsPressedProperty = AvaloniaProperty.Register(nameof(IsPressed)); diff --git a/src/Avalonia.Controls/MenuItem.cs b/src/Avalonia.Controls/MenuItem.cs index c2227b9dfc..82fd8b1fca 100644 --- a/src/Avalonia.Controls/MenuItem.cs +++ b/src/Avalonia.Controls/MenuItem.cs @@ -20,11 +20,13 @@ namespace Avalonia.Controls /// public class MenuItem : HeaderedSelectingItemsControl, IMenuItem, ISelectable { + private ICommand _command; + /// /// Defines the property. /// - public static readonly StyledProperty CommandProperty = - AvaloniaProperty.Register(nameof(Command)); + public static readonly DirectProperty CommandProperty = + Button.CommandProperty.AddOwner(menuItem => menuItem.Command, (menuItem, command) => menuItem.Command = command, enableDataValidation: true); /// /// Defines the property. @@ -159,8 +161,8 @@ namespace Avalonia.Controls /// public ICommand Command { - get { return GetValue(CommandProperty); } - set { SetValue(CommandProperty, value); } + get { return _command; } + set { SetAndRaise(CommandProperty, ref _command, value); } } ///