Inheritance: System.Windows.Controls.ContentControl
Ejemplo n.º 1
0
        /// <summary>
        ///     Property changed called back for IsSelected property
        /// </summary>
        private static void OnIsSelectedChanged(DependencyObject sender, DependencyPropertyChangedEventArgs args)
        {
            RibbonTab ribbonTab = (RibbonTab)sender;

            if (ribbonTab.IsSelected)
            {
                ribbonTab.OnSelected(new RoutedEventArgs(Selector.SelectedEvent, ribbonTab));
            }
            else
            {
                ribbonTab.OnUnselected(new RoutedEventArgs(Selector.UnselectedEvent, ribbonTab));
            }
            RibbonTabHeader header = ribbonTab.RibbonTabHeader;

            if (header != null)
            {
                header.CoerceValue(RibbonTabHeader.IsRibbonTabSelectedProperty);
            }

            // Raise UI automation events on this RibbonTab
            if (AutomationPeer.ListenerExists(AutomationEvents.SelectionItemPatternOnElementSelected) ||
                AutomationPeer.ListenerExists(AutomationEvents.SelectionItemPatternOnElementRemovedFromSelection))
            {
                RibbonTabAutomationPeer peer = RibbonTabAutomationPeer.CreatePeerForElement(ribbonTab) as RibbonTabAutomationPeer;
                if (peer != null)
                {
                    peer.RaiseTabSelectionEvents();
                }
            }
        }
        /// <summary>
        ///     Prepares an item container before its use.
        /// </summary>
        protected override void PrepareContainerForItemOverride(DependencyObject element, object item)
        {
            base.PrepareContainerForItemOverride(element, item);
            RibbonTabHeader header = element as RibbonTabHeader;

            if (header != null)
            {
                header.PrepareRibbonTabHeader();
            }
        }
Ejemplo n.º 3
0
        private static void OnKeyTipChanged(DependencyObject d, DependencyPropertyChangedEventArgs e)
        {
            RibbonTab       tab       = (RibbonTab)d;
            RibbonTabHeader tabHeader = tab.RibbonTabHeader;

            if (tabHeader != null)
            {
                tabHeader.CoerceValue(KeyTipService.KeyTipProperty);
            }
        }
Ejemplo n.º 4
0
        /// <summary>
        ///     Property changed callback for IsEnabled property.
        /// <summary>
        private static void OnIsEnabledChanged(DependencyObject sender, DependencyPropertyChangedEventArgs args)
        {
            RibbonTab       ribbonTab = (RibbonTab)sender;
            RibbonTabHeader header    = ribbonTab.RibbonTabHeader;

            if (header != null)
            {
                header.CoerceValue(RibbonTabHeader.IsEnabledProperty);
            }
        }
Ejemplo n.º 5
0
        private static object CoerceKeyTip(DependencyObject d, object baseValue)
        {
            RibbonTabHeader tabHeader = (RibbonTabHeader)d;
            RibbonTab       tab       = tabHeader.RibbonTab;

            if (tab != null)
            {
                return(tab.KeyTip);
            }
            return(baseValue);
        }
Ejemplo n.º 6
0
        private static object CoerceStringFormat(DependencyObject d, object baseValue)
        {
            RibbonTabHeader tabHeader = (RibbonTabHeader)d;

            return(PropertyHelper.GetCoercedTransferPropertyValue(
                       d,
                       baseValue,
                       ContentStringFormatProperty,
                       tabHeader.RibbonTab,
                       RibbonTab.HeaderStringFormatProperty));
        }
Ejemplo n.º 7
0
        private static object CoerceContentTemplateSelector(DependencyObject d, object baseValue)
        {
            RibbonTabHeader tabHeader = (RibbonTabHeader)d;

            return(PropertyHelper.GetCoercedTransferPropertyValue(
                       d,
                       baseValue,
                       ContentTemplateSelectorProperty,
                       tabHeader.RibbonTab,
                       RibbonTab.HeaderTemplateSelectorProperty));
        }
Ejemplo n.º 8
0
        private static object CoerceVisibility(DependencyObject d, object baseValue)
        {
            RibbonTabHeader header = (RibbonTabHeader)d;
            RibbonTab       tab    = header.RibbonTab;

            if (tab != null)
            {
                return(tab.Visibility);
            }
            return(baseValue);
        }
Ejemplo n.º 9
0
        /// <summary>
        ///     Coercion callback for IsEnabled property
        /// </summary>
        /// <param name="d"></param>
        /// <param name="baseValue"></param>
        /// <returns></returns>
        private static object OnCoerceIsEnabled(DependencyObject d, object baseValue)
        {
            RibbonTabHeader header = (RibbonTabHeader)d;
            RibbonTab       tab    = header.RibbonTab;

            if (tab != null)
            {
                return(tab.IsEnabled);
            }
            return(baseValue);
        }
Ejemplo n.º 10
0
        private static object CoerceIsContextualTab(DependencyObject d, object baseValue)
        {
            RibbonTabHeader tabHeader = (RibbonTabHeader)d;
            RibbonTab       tab       = tabHeader.RibbonTab;

            if (tab != null)
            {
                return(tab.ContextualTabGroupHeader != null);
            }

            return(baseValue);
        }
Ejemplo n.º 11
0
        private static void OnNotifyHeaderPropertyChanged(DependencyObject d, DependencyPropertyChangedEventArgs e)
        {
            RibbonTab tab = (RibbonTab)d;

            tab.NotifyPropertyChanged(e);
            RibbonTabHeader tabHeader = tab.RibbonTabHeader;

            if (tabHeader != null)
            {
                tabHeader.NotifyPropertyChanged(e);
            }
        }
Ejemplo n.º 12
0
        private static object CoerceStyle(DependencyObject d, object baseValue)
        {
            RibbonTabHeader tabHeader = (RibbonTabHeader)d;

            return(PropertyHelper.GetCoercedTransferPropertyValue(
                       d,
                       baseValue,
                       StyleProperty,
                       tabHeader.RibbonTab,
                       RibbonTab.HeaderStyleProperty,
                       tabHeader.Ribbon,
                       Ribbon.TabHeaderStyleProperty));
        }
Ejemplo n.º 13
0
        internal void PrepareRibbonTab()
        {
            if (ContextualTabGroupHeader != null && Ribbon.ContextualTabGroupItemsControl != null)
            {
                ContextualTabGroup = Ribbon.ContextualTabGroupItemsControl.FindHeader(ContextualTabGroupHeader);
            }

            CoerceValue(VisibilityProperty);

            RibbonTabHeader tabHeader = RibbonTabHeader;

            if (tabHeader != null)
            {
                tabHeader.InitializeTransferProperties();
            }
        }
Ejemplo n.º 14
0
        protected override void OnKeyDown(KeyEventArgs e)
        {
            base.OnKeyDown(e);

            if (!e.Handled)
            {
                DependencyObject focusedElement = Keyboard.FocusedElement as DependencyObject;
                RibbonTabHeader  tabHeader      = RibbonTabHeader;
                if (e.Key == Key.Up && focusedElement != null && tabHeader != null)
                {
                    // On arrow up key press if the focus goes out of the tab,
                    // then force it to move to the corresponding TabHeader.
                    DependencyObject upObj = RibbonHelper.PredictFocus(focusedElement, FocusNavigationDirection.Up);
                    if (!RibbonHelper.IsAncestorOf(this, upObj))
                    {
                        if (tabHeader.Focus())
                        {
                            e.Handled = true;
                        }
                    }
                }
            }
        }
 public RibbonTabHeaderAutomationPeer(RibbonTabHeader owner)
     : base(owner)
 {
 }