Example #1
0
        private void FlyoutsPreviewMouseDown(object sender, MouseButtonEventArgs e)
        {
            FrameworkElement element = (e.OriginalSource as FrameworkElement);

            if (element != null && element.TryFindParent <Flyout>() != null)
            {
                return;
            }

            if (Flyouts.OverrideExternalCloseButton == null)
            {
                foreach (Flyout flyout in Flyouts.GetFlyouts())
                {
                    if (flyout.ExternalCloseButton == e.ChangedButton && (flyout.IsPinned == false || Flyouts.OverrideIsPinned == true))
                    {
                        flyout.IsOpen = false;
                    }
                }
            }
            else if (Flyouts.OverrideExternalCloseButton == e.ChangedButton)
            {
                foreach (Flyout flyout in Flyouts.GetFlyouts())
                {
                    if (flyout.IsPinned == false || Flyouts.OverrideIsPinned == true)
                    {
                        flyout.IsOpen = false;
                    }
                }
            }
        }
        private void FlyoutsPreviewMouseDown(object sender, MouseButtonEventArgs e)
        {
            DependencyObject element = (e.OriginalSource as DependencyObject);

            if (element != null && element.TryFindParent <Flyout>() != null)
            {
                return;
            }

            if (Flyouts.OverrideExternalCloseButton == null)
            {
                foreach (Flyout flyout in Flyouts.GetFlyouts().Where(x => x.IsOpen && x.ExternalCloseButton == e.ChangedButton && (!x.IsPinned || Flyouts.OverrideIsPinned)))
                {
                    flyout.IsOpen = false;
                    e.Handled     = true;
                }
            }

            else if (Flyouts.OverrideExternalCloseButton == e.ChangedButton)
            {
                foreach (Flyout flyout in Flyouts.GetFlyouts().Where(x => x.IsOpen && (!x.IsPinned || Flyouts.OverrideIsPinned)))
                {
                    flyout.IsOpen = false;
                    e.Handled     = true;
                }
            }
        }
Example #3
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);
        }
Example #4
0
        private void FlyoutsPreviewMouseDown(object sender, MouseButtonEventArgs e)
        {
            var element = (e.OriginalSource as DependencyObject);

            if (element != null)
            {
                // no preview if we just clicked these elements
                if (element.TryFindParent <Flyout>() != null ||
                    Equals(element.TryFindParent <ContentControl>(), this.icon) ||
                    element.TryFindParent <WindowCommands>() != null ||
                    element.TryFindParent <WindowButtonCommands>() != null)
                {
                    return;
                }
            }

            if (Flyouts.OverrideExternalCloseButton == null)
            {
                foreach (var flyout in Flyouts.GetFlyouts().Where(x => x.IsOpen && x.ExternalCloseButton == e.ChangedButton && (!x.IsPinned || Flyouts.OverrideIsPinned)))
                {
                    flyout.IsOpen = false;
                    e.Handled     = true;
                }
            }
            else if (Flyouts.OverrideExternalCloseButton == e.ChangedButton)
            {
                foreach (var flyout in Flyouts.GetFlyouts().Where(x => x.IsOpen && (!x.IsPinned || Flyouts.OverrideIsPinned)))
                {
                    flyout.IsOpen = false;
                    e.Handled     = true;
                }
            }
        }
Example #5
0
        public void Handle(OpenFlyoutEvent message)
        {
            var flyout = Flyouts.FirstOrDefault(f => f.Flyout == message.Flyout);

            if (flyout != null)
            {
                flyout.IsOpen = true;
            }
        }
 private void CloseFlyouts()
 {
     RxApp.MainThreadScheduler.Schedule(_ =>
     {
         foreach (var flyout in Flyouts.Where(flyout => flyout != null && flyout.IsOpen))
         {
             flyout.IsOpen = false;
         }
     });
 }
        public void AddOrUpdateFlyouts(IFlyoutBaseVm flyout)
        {
            var flyoutType = flyout.GetType();
            var oldFlyout  = Flyouts.FirstOrDefault(e => e.GetType().Name == flyoutType.Name);

            if (oldFlyout != null)
            {
                Flyouts.Remove(oldFlyout);
            }
            Flyouts.Add(BootStrapper.CreateFlyoutControl(flyout));
        }
Example #8
0
        public static void PopFlyout(string flyoutName)
        {
            if (flyoutName is null)
            {
                throw new ArgumentNullException(nameof(flyoutName));
            }

            var old = (Flyout)App.Current.Resources[flyoutName];

            Flyouts.Remove(old);
        }
Example #9
0
 public void DoToggleFlyout(FlyoutBaseViewModel flyout)
 {
     if(!Flyouts.Contains(flyout))
     {
         Flyouts.Add(flyout);
     }
     foreach(FlyoutBaseViewModel fbvw in Flyouts)
     {
         if (fbvw.Equals(flyout)) continue;
         fbvw.IsOpen = false;
     }
     flyout.IsOpen = !flyout.IsOpen;
 }
Example #10
0
        void App_CommandsRequested(SettingsPane sender, SettingsPaneCommandsRequestedEventArgs args)
        {
            var optionsCharmCmd = new SettingsCommand("options", "Options", handler => {
                var flyout = Flyouts.Build("Options", new Settings());
                flyout.Show();
            });
            var privacyPolicyCharmCmd = new SettingsCommand("privacy", "Privacy policy", handler => {
                var flyout = Flyouts.Build("Privacy policy", new PrivacyPolicy());
                flyout.Show();
            });
            var appCommands = args.Request.ApplicationCommands;

            appCommands.Add(optionsCharmCmd);
            appCommands.Add(privacyPolicyCharmCmd);
        }
Example #11
0
 /// <summary>
 /// Clean-up!
 /// </summary>
 protected override void OnDispose()
 {
     //Clear the flyouts
     Flyouts.Clear();
     //Dispose the login view
     if (null != _loginView)
     {
         _loginView.UserLoggedIn -= LoginViewUserLoggedIn;
         _loginView.Dispose();
     }
     //Dispose the application view.
     if (null != SelectedView)
     {
         SelectedView.Dispose();
     }
 }
 private void Grid_DragStarting(UIElement sender, DragStartingEventArgs args) => Flyouts.ShowFlyoutBase(sender);
 private void Grid_RightTapped(object sender, RightTappedRoutedEventArgs e) => Flyouts.ShowFlyoutBase(sender);
Example #14
0
        private void InitSettingsCharm()
        {
            var flyout = Flyouts.Build("Options", new Settings());

            SettingsPane.GetForCurrentView().CommandsRequested += App_CommandsRequested;
        }
Example #15
0
 public void CloseSettings()
 {
     Flyouts.First().IsOpen = false;
 }
Example #16
0
 public void Settings()
 {
     Flyouts.First().IsOpen = !Flyouts.First().IsOpen;
 }