protected virtual void ClickContextMenuItem(ContextMenuGlyphItem contextMenuItem)
 {
     var item = contextMenuItem;
     if (item != null && item.IconGeometry == null)
     {
         Controls.Utilities.ContextMenuGlyphItemUtilities.SetCheckMark(item);
         ShowToolBarByName(item.Header.ToString());
     }
     else
     {
         if (item == null)
             return;
         item.IconGeometry = null;
         HideToolBarByName(item.Header.ToString());
     }
 }
 protected virtual bool CanClickContextMenuItem(ContextMenuGlyphItem item)
 {
     return true;
 }
        /*
            Returns a toolbar specific MenuItem by:
                Creating the Item
                Header is IdentifierName of Toolbar
                Creats Click Event
                Adds into Menu
                Returns Item
        */

        private ContextMenuGlyphItem CreateContextMenuItem(string identifierName)
        {
            var item = new ContextMenuGlyphItem
            {
                Header = identifierName,
                Command = ClickContextMenuItemCommand
            };
            item.CommandParameter = item;
            if (ContextMenu.Items.Count < 2)
                ContextMenu.Items.Add(item);
            else
                ContextMenu.Items.Insert(ContextMenu.Items.Count - 2, item);
            return item;
        }