public static IDisposable PushFlyout(string flyoutName, object context) { if (flyoutName == null) { throw new ArgumentNullException(nameof(flyoutName)); } var handle = new FlyoutHandle(flyoutName, context); if (TargetElement == null) { QueuedFlyouts.Enqueue(handle); return(handle); } var oldFlyout = CurrentFlyout; Flyouts.Add(oldFlyout); var flyout = GetFlyout(handle); SwapFlyouts(oldFlyout, flyout); return(handle); }
private static Flyout GetFlyout(FlyoutHandle handle) { var flyout = (Flyout)App.Current.Resources[handle.Name]; ((FrameworkElement)flyout.Content).DataContext = handle.Context; handle.Attach(flyout); return(flyout); }
private static void PushFlyout(FlyoutHandle handle) { var oldFlyout = CurrentFlyout; Flyouts.Add(oldFlyout); var flyout = GetFlyout(handle); SwapFlyouts(oldFlyout, flyout); }