public static void ShowAnchorPopup(this ContentView view, View popup, AnchorPopup parameters) { if (!view.IsAbsoluteLayout() || popup == null || parameters == null || parameters.AnchorView == null) { return; } var layout = (AbsoluteLayout)((ContentView)view).Content; layout.DisableAllBut(parameters.AnchorView); layout?.ShowAnchorLayout(popup, parameters); }
public static void ShowAnchorPopup(this Page page, View popup, AnchorPopup parameters) { if (popup == null || parameters == null || parameters.AnchorView == null) { return; } var layout = page.GetAbsoluteLayout(); layout.DisableAllBut(parameters.AnchorView); layout?.ShowAnchorLayout(popup, parameters); }
private static void ShowAnchorLayout(this AbsoluteLayout layout, View popup, AnchorPopup parameters) { if (layout != null) { popup.AutomationId = "CorePopupAutomationId"; if (parameters.UseParentBindingContext) { popup.BindingContext = layout.BindingContext; } AbsoluteLayout.SetLayoutBounds(popup, parameters.ToAbsoluteRectange(popup)); layout.Children.Add(popup); popup.ScaleTo(0.99, 200).ContinueWith(async(t) => { await popup.ScaleTo(1, 200); }); } }