From e047de7bc2f6e0b8bd3256918567b75d686f7c95 Mon Sep 17 00:00:00 2001 From: Steven Kirk Date: Sun, 7 Feb 2016 14:59:41 +0100 Subject: [PATCH] Fixed #409. --- src/Perspex.Controls/ContextMenu.cs | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/Perspex.Controls/ContextMenu.cs b/src/Perspex.Controls/ContextMenu.cs index 1fe6a7e04a..3e8d1c41d8 100644 --- a/src/Perspex.Controls/ContextMenu.cs +++ b/src/Perspex.Controls/ContextMenu.cs @@ -92,7 +92,8 @@ _popup.Closed += PopupClosed; } - + + ((ISetLogicalParent)_popup).SetParent(null); ((ISetLogicalParent)_popup).SetParent(control); _popup.Child = control.ContextMenu; @@ -132,6 +133,7 @@ private static void ControlPointerReleased(object sender, PointerReleasedEventArgs e) { var control = (Control)sender; + var contextMenu = control.ContextMenu; if (e.MouseButton == MouseButton.Right) { @@ -141,10 +143,12 @@ } Show(control); + e.Handled = true; } - else + else if (contextMenu._isOpen) { control.ContextMenu.Hide(); + e.Handled = true; } } }