Пример #1
0
        private void OnLoaded(object sender, RoutedEventArgs eventArgs)
        {
            _dockControl = DockHelper.GetDockControl(this);
            _dockControl?.Register(this);

            UpdateVisualStates(true);
        }
Пример #2
0
 private void OnLoaded(object sender, RoutedEventArgs eventArgs)
 {
     DockControl = DockHelper.GetDockControl(this);
     UpdateAutoHideSize();
     StopAutomaticTimeout();
     ResetAnimations();
 }
Пример #3
0
        private void OnLoaded(object sender, RoutedEventArgs eventArgs)
        {
            _dockControl = DockHelper.GetDockControl(this);
            if (_dockControl != null)
            {
                _dockControl.Register(this);
                CommandManager.InvalidateRequerySuggested();
            }

            UpdateVisualStates(true);
        }
Пример #4
0
        private void CloseAutoHidePane(AutoHidePane autoHidePane)
        {
            autoHidePane.Hide();
            var dockControl = DockHelper.GetDockControl(this);

            if (dockControl != null && autoHidePane.IsKeyboardFocusWithin)
            {
                // AutoHidePane still has focus, but it is moved out of the visible area.
                // --> Move focus back to DockControl.
                dockControl.Focus();
            }
        }
Пример #5
0
        internal AutoHidePane ShowAutoHidePane(IDockTabPane dockTabPane, IDockTabItem dockTabItem, bool focus)
        {
            if (dockTabPane == null || !Items.Contains(dockTabPane))
            {
                return(null);
            }

            var dockControl = DockHelper.GetDockControl(this);

            // Ensure that correct item is selected.
            if (dockTabItem != null)
            {
                Debug.Assert(dockTabPane.Items.Contains(dockTabItem));
                dockTabPane.SelectedItem = dockTabItem;
            }

            // Get or create AutoHidePane that shows the DockTabItem.
            var autoHidePane = GetAutoHidePane(dockTabPane);

            if (autoHidePane == null)
            {
                // Create a new AutoHidePane if necessary.
                autoHidePane = new AutoHidePane
                {
                    Content = dockTabPane,
                    Dock    = Dock,
                };
                var autoHideOverlay = new AutoHideOverlay(dockControl, TargetArea)
                {
                    Content = autoHidePane
                };
                autoHideOverlay.Show();
                _autoHideOverlays.Add(autoHideOverlay);
            }

            // Slide-in AutoHidePane.
            autoHidePane.Show();

            if (focus)
            {
                dockControl?.DockStrategy?.Activate(dockTabPane);
            }

            return(autoHidePane);
        }
Пример #6
0
        internal void TabClicked(AutoHideTab autoHideTab)
        {
            // Show AutoHidePane and set focus to content.
            var dockTabItem = autoHideTab.DataContext as IDockTabItem;
            var dockTabPane = autoHideTab.AutoHideGroup?.DataContext as IDockTabPane;
            var dockControl = DockHelper.GetDockControl(this);

            if (dockControl != null)
            {
                dockControl.CloseAutoHidePanesExcept(dockTabPane);
            }
            else
            {
                CloseAutoHidePanesExcept(dockTabPane);
            }

            ShowAutoHidePane(dockTabPane, dockTabItem, true);
        }