/// <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(); } }
private static void OnKeyTipChanged(DependencyObject d, DependencyPropertyChangedEventArgs e) { RibbonTab tab = (RibbonTab)d; RibbonTabHeader tabHeader = tab.RibbonTabHeader; if (tabHeader != null) { tabHeader.CoerceValue(KeyTipService.KeyTipProperty); } }
/// <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); } }
private static object CoerceKeyTip(DependencyObject d, object baseValue) { RibbonTabHeader tabHeader = (RibbonTabHeader)d; RibbonTab tab = tabHeader.RibbonTab; if (tab != null) { return(tab.KeyTip); } return(baseValue); }
private static object CoerceStringFormat(DependencyObject d, object baseValue) { RibbonTabHeader tabHeader = (RibbonTabHeader)d; return(PropertyHelper.GetCoercedTransferPropertyValue( d, baseValue, ContentStringFormatProperty, tabHeader.RibbonTab, RibbonTab.HeaderStringFormatProperty)); }
private static object CoerceContentTemplateSelector(DependencyObject d, object baseValue) { RibbonTabHeader tabHeader = (RibbonTabHeader)d; return(PropertyHelper.GetCoercedTransferPropertyValue( d, baseValue, ContentTemplateSelectorProperty, tabHeader.RibbonTab, RibbonTab.HeaderTemplateSelectorProperty)); }
private static object CoerceVisibility(DependencyObject d, object baseValue) { RibbonTabHeader header = (RibbonTabHeader)d; RibbonTab tab = header.RibbonTab; if (tab != null) { return(tab.Visibility); } return(baseValue); }
/// <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); }
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); }
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); } }
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)); }
internal void PrepareRibbonTab() { if (ContextualTabGroupHeader != null && Ribbon.ContextualTabGroupItemsControl != null) { ContextualTabGroup = Ribbon.ContextualTabGroupItemsControl.FindHeader(ContextualTabGroupHeader); } CoerceValue(VisibilityProperty); RibbonTabHeader tabHeader = RibbonTabHeader; if (tabHeader != null) { tabHeader.InitializeTransferProperties(); } }
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) { }