diff --git a/Perspex.Controls/MenuItem.cs b/Perspex.Controls/MenuItem.cs index 18c9956a2b..307cfbc607 100644 --- a/Perspex.Controls/MenuItem.cs +++ b/Perspex.Controls/MenuItem.cs @@ -173,18 +173,7 @@ namespace Perspex.Controls /// public bool IsTopLevel { - get; - private set; - } - - /// - /// Called when the is attached to the visual tree. - /// - /// The root of the visual tree. - protected override void OnAttachedToVisualTree(IRenderRoot root) - { - base.OnAttachedToVisualTree(root); - this.IsTopLevel = this.Parent is Menu; + get { return this.Parent is Menu; } } /// @@ -259,6 +248,18 @@ namespace Perspex.Controls passStraightToParent = this.IsTopLevel || !this.IsSubMenuOpen; break; + case Key.Enter: + if (this.HasSubMenu) + { + goto case Key.Right; + } + else + { + this.RaiseEvent(new RoutedEventArgs(ClickEvent)); + } + + break; + case Key.Escape: if (this.IsSubMenuOpen) {