From e799543b9429fcaa1dbd31a18f90adb95f008689 Mon Sep 17 00:00:00 2001 From: Dan Walmsley Date: Wed, 6 Mar 2019 12:17:50 +0000 Subject: [PATCH] fix menuitem command property. --- src/Avalonia.Controls/Button.cs | 4 ++-- src/Avalonia.Controls/MenuItem.cs | 10 ++++++---- 2 files changed, 8 insertions(+), 6 deletions(-) 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); } } ///