From 0d3df208a9f7fbd8074b7d5d0920f71c2fd18bdd Mon Sep 17 00:00:00 2001 From: Jesse Jiang Date: Thu, 1 Sep 2016 10:39:01 +1000 Subject: [PATCH] Fix UWP popup view layout issue --- SlideOverKit.UWP/SlideOverKitUWPHandler.cs | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/SlideOverKit.UWP/SlideOverKitUWPHandler.cs b/SlideOverKit.UWP/SlideOverKitUWPHandler.cs index 9c53f8b..bc02ccf 100644 --- a/SlideOverKit.UWP/SlideOverKitUWPHandler.cs +++ b/SlideOverKit.UWP/SlideOverKitUWPHandler.cs @@ -337,7 +337,16 @@ bool PopupLayout() return false; var popup = _popupBasePage.PopupViews[_currentPopup] as SlidePopupView; - popup.CalucatePosition(); + Point? position = null; + if (popup.TargetControl!=null) + { + var nativeElement = popup.TargetControl.GetOrCreateRenderer() as Panel; + var ttv = nativeElement.TransformToVisual(Window.Current.Content); + var wpos = ttv.TransformPoint(new Windows.Foundation.Point(0, 0)); + position = new Point(wpos.X, wpos.Y); + } + + popup.CalucatePosition(position); double y = popup.TopMargin; double x = popup.LeftMargin; double width = (popup.WidthRequest <= 0 ? ScreenSizeHelper.ScreenWidth - popup.LeftMargin * 2 : popup.WidthRequest);