Beispiel #1
0
        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);
        }
Beispiel #2
0
        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);
        }
Beispiel #3
0
        private static void PushFlyout(FlyoutHandle handle)
        {
            var oldFlyout = CurrentFlyout;

            Flyouts.Add(oldFlyout);

            var flyout = GetFlyout(handle);

            SwapFlyouts(oldFlyout, flyout);
        }