/// <summary> /// Determines whether the given control can provide a quick access toolbar item /// </summary> /// <param name="element">Control</param> /// <returns>True if this control is able to provide /// a quick access toolbar item, false otherwise</returns> public static bool IsSupported(UIElement element) { IQuickAccessItemProvider provider = (element as IQuickAccessItemProvider); if ((provider != null) && (provider.CanAddToQuickAccessToolBar)) { return(true); } return(false); }
private static object CoerceContextMenu(DependencyObject d, object basevalue) { IQuickAccessItemProvider control = d as IQuickAccessItemProvider; if ((basevalue == null) && ((control == null) || control.CanAddToQuickAccessToolBar)) { return(Ribbon.RibbonContextMenu); } return(basevalue); }
private IQuickAccessItemProvider FindParentProvider() { DependencyObject parent = LogicalTreeHelper.GetParent(this); while (parent != null) { IQuickAccessItemProvider provider = (parent as IQuickAccessItemProvider); if (provider != null) { return(provider); } parent = LogicalTreeHelper.GetParent(parent); } return(null); }
/// <summary> /// Gets control which represents shortcut item. /// This item MUST be syncronized with the original /// and send command to original one control. /// </summary> /// <returns>Control which represents shortcut item</returns> public override FrameworkElement CreateQuickAccessItem() { IQuickAccessItemProvider provider = FindParentProvider(); if (provider != null) { return(provider.CreateQuickAccessItem()); } DropDownButton button = new DropDownButton(); button.PreviewMouseLeftButtonDown += OnFirstPreviewClick; BindQuickAccessItem(button); return(button); }
public static FrameworkElement GetQuickAccessItem(UIElement element) { FrameworkElement result = null; // If control supports the interface just return what it provides IQuickAccessItemProvider provider = (element as IQuickAccessItemProvider); if ((provider != null) && (provider.CanAddToQuickAccessToolBar)) { result = ((IQuickAccessItemProvider)element).CreateQuickAccessItem(); } // The control isn't supported if (result == null) { throw new ArgumentException("The contol " + element.GetType().Name + " is not able to provide a quick access toolbar item"); } return(result); }