Browse Source

Only close Popup when click is outside PopupRoot.

pull/390/head
Steven Kirk 11 years ago
parent
commit
f37c4a9059
  1. 10
      src/Perspex.Controls/Primitives/Popup.cs

10
src/Perspex.Controls/Primitives/Popup.cs

@ -300,7 +300,15 @@ namespace Perspex.Controls.Primitives
/// <param name="e">The event args.</param>
private void MaybeClose(object sender, EventArgs e)
{
if (!StaysOpen)
var routed = e as RoutedEventArgs;
var outside = true;
if (routed != null)
{
outside = ((IVisual)routed.Source).GetVisualRoot() != this.PopupRoot;
}
if (outside && !StaysOpen)
{
Close();
}

Loading…
Cancel
Save