|
|
|
@ -172,13 +172,16 @@ namespace Perspex.Controls.Primitives |
|
|
|
|
|
|
|
_popupRoot.Position = GetPosition(); |
|
|
|
|
|
|
|
if (_topLevel == null) |
|
|
|
if (_topLevel == null && PlacementTarget != null) |
|
|
|
{ |
|
|
|
_topLevel = PlacementTarget.GetSelfAndLogicalAncestors().First(x => x is TopLevel) as TopLevel; |
|
|
|
} |
|
|
|
|
|
|
|
_topLevel.Deactivated += TopLevelDeactivated; |
|
|
|
_topLevel.AddHandler(PointerPressedEvent, PointerPressedOutside, RoutingStrategies.Tunnel); |
|
|
|
if (_topLevel != null) |
|
|
|
{ |
|
|
|
_topLevel.Deactivated += TopLevelDeactivated; |
|
|
|
_topLevel.AddHandler(PointerPressedEvent, PointerPressedOutside, RoutingStrategies.Tunnel); |
|
|
|
} |
|
|
|
|
|
|
|
PopupRootCreated?.Invoke(this, EventArgs.Empty); |
|
|
|
|
|
|
|
|