示例#1
0
 internal override void ShowModule(bool firstShow) {
     base.ShowModule(firstShow);
     this.appointmentCategory = FindAppointmentPage(this.ribbonControl1);
     SubscribeSchedulerEvents();
     UpdateAppointmentCategory();
     MainRibbon.SelectedPage = MainRibbon.MergedPages.GetPageByName(homeRibbonPage1.Name);
 }
        private void addButtonGroupToButtonGroupCache(IButtonGroup buttonGroup, RibbonPageCategory pageCategory)
        {
            var buttonGroups = _buttonGroupCache[identifierForCategory(pageCategory)];

            buttonGroups.Add(buttonGroup);
            _buttonGroupCache[identifierForCategory(pageCategory)] = buttonGroups;
        }
示例#3
0
        /// <summary>
        /// 加载RibbonPage
        /// </summary>
        /// <param name="ribbonPageCategory"></param>
        /// <returns></returns>
        private string InitialRibbonPage(RibbonPageCategory ribbonPageCategory)
        {
            if (ribbonPageCategory == null)
            {
                return(string.Format("无父控件"));
            }
            string strFid = ribbonPageCategory.Tag.ToString();

            DataRow[] pSelectRows = _AppUser.UserRole.RoleFunDt.Select(string.Format("{0}='{1}' and {2}='{3}'",
                                                                                     ColumnName.PID, strFid, ColumnName.ControlType, PluginControlType.RibbonPage.ToString()));
            if (pSelectRows.Length <= 0)
            {
                return(string.Format("无权限"));
            }
            foreach (DataRow pRow in pSelectRows)
            {
                RibbonPage ribbonPage = new RibbonPage();
                string     FName      = pRow[ColumnName.FName].ToString();
                if (AllPlugin.dicPlugins.ContainsKey(FName))
                {
                    PluginOnCreate(AllPlugin.dicPlugins[FName], _pIAppFrm);
                }
                ribbonPage.Name = FName;
                ribbonPage.Text = pRow[ColumnName.Caption].ToString();
                ribbonPage.Tag  = pRow[ColumnName.FID];
                ribbonPageCategory.Pages.Add(ribbonPage);
                //加载RibbonPageGroup
                InitialRibbonPageGroup(ribbonPage);
            }
            return(string.Empty);
        }
示例#4
0
 RibbonPage GetFirstVisiblePage(RibbonPageCategory ribbonPageCategory)
 {
     foreach (RibbonPage page in ribbonPageCategory.Pages)
         if (page.Visible)
             return page;
     return null;
 }
示例#5
0
 internal override void ShowModule(bool firstShow)
 {
     base.ShowModule(firstShow);
     this.appointmentCategory = FindAppointmentPage(this.ribbonControl1);
     SubscribeSchedulerEvents();
     UpdateAppointmentCategory();
     MainRibbon.SelectedPage = MainRibbon.MergedPages.GetPageByName(homeRibbonPage1.Name);
 }
示例#6
0
        public void RemoveCommandCategory(string categoryName)
        {
            RibbonPageCategory category = this._regionManager.Regions[RegionNames.RibbonRegion].Views
                                          .Where(v => v is RibbonPageCategory && (v as RibbonPageCategory).Caption == categoryName)
                                          .FirstOrDefault() as RibbonPageCategory;

            if (category != null)
            {
                this._regionManager.Regions[RegionNames.RibbonRegion].Remove(category);
            }
        }
示例#7
0
 RibbonPage GetFirstVisiblePage(RibbonPageCategory ribbonPageCategory)
 {
     foreach (RibbonPage page in ribbonPageCategory.Pages)
     {
         if (page.Visible)
         {
             return(page);
         }
     }
     return(null);
 }
示例#8
0
 public RibPageMachine(RibbonControl ribbon) : this()
 {
     this.page = new RibbonPage {
         Text = "正在加工"
     };
     this.category = new RibbonPageCategory {
         Text = "加工"
     };
     this.category.Pages.Add(this.page);
     this.Ribbon = ribbon;
     this.Ribbon.SelectedPageChanging += Ribbon_SelectedPageChanging;
 }
示例#9
0
        public void AddCommandGroupExtension(string categoryName, string pageName, RibbonPageGroup group)
        {
            RibbonPageCategory category = new RibbonPageCategory();

            category.Caption = categoryName;
            RibbonPage page = new RibbonPage();

            page.Caption = pageName;
            page.Groups.Add(group);
            category.Pages.Add(page);
            this._regionManager.AddToRegion(RegionNames.RibbonRegion, category);
        }
示例#10
0
        /// <summary>
        /// 根据用户权限加载控件
        /// </summary>
        private string LoadControls()
        {
            if (_pIAppFrm == null)
            {
                return(string.Format("初始化控件失败:无主应用对象"));
            }
            if (_AppUser == null)
            {
                return(string.Format("初始化控件失败:无登录用户"));
            }
            DataTable pRoleFunDt = _AppUser.UserRole.RoleFunDt;

            if (pRoleFunDt == null || pRoleFunDt.Rows.Count <= 0)
            {
                return(string.Format("初始化控件失败:登录用户没有相应的权限"));
            }
            //级别为0即系统名称
            DataRow[] pRows = pRoleFunDt.Select(string.Format("{0}='{1}'", ColumnName.LevelID, '0'));
            if (pRows.Length <= 0)
            {
                return(string.Format("无法获取系统名称"));
            }
            _pIAppFrm.MainForm.Text = pRows[0][ColumnName.Caption].ToString();
            //初始化RibbonPageCategory
            pRows = pRoleFunDt.Select(string.Format("{0}='{1}'", ColumnName.ControlType, PluginControlType.RibbonPageCategory.ToString()));
            if (pRows.Length <= 0)
            {
                return(string.Format("当前用户:{0}缺少相应的权限", _AppUser.UserName));
            }
            _pIAppFrm.MainForm.SuspendLayout();
            _pIAppFrm.MainForm.mainRibbon.PageCategories.Clear();
            _pIAppFrm.MainForm.mainRibbon.Pages.Clear();
            foreach (DataRow pRow in pRows)
            {
                RibbonPageCategory ribbonPageCategory = new RibbonPageCategory();
                string             FName = pRow[ColumnName.FName].ToString();
                if (AllPlugin.dicPlugins.ContainsKey(FName))
                {
                    PluginOnCreate(AllPlugin.dicPlugins[FName], _pIAppFrm);
                }
                ribbonPageCategory.Name = FName;
                ribbonPageCategory.Text = pRow[ColumnName.Caption].ToString();
                ribbonPageCategory.Tag  = pRow[ColumnName.FID];
                _pIAppFrm.MainForm.mainRibbon.PageCategories.Add(ribbonPageCategory);
                //初始化RibbonPage控件
                InitialRibbonPage(ribbonPageCategory);
            }
            _pIAppFrm.MainForm.ResumeLayout(false);
            _pIAppFrm.MainForm.PerformLayout();
            //创建RibbonControl
            _pIAppFrm.MainForm.Size = new Size(1028, 742);
            return(string.Empty);
        }
示例#11
0
        internal override void InitModule(DevExpress.Utils.Menu.IDXMenuManager manager, object data)
        {
            base.InitModule(manager, data);
            schedulerControl1.MenuManager = manager;
            this.ribbon = manager as RibbonControl;
            this.appointmentCategory = FindAppointmentPage(this.ribbon);

            if (calendarControls == null)
            {
                this.calendarControls = data as ucCalendar;
                this.calendarControls.InitDateNavigator(this.schedulerControl1);
                this.calendarControls.InitResourcesTree(this.schedulerStorage1);
                this.calendarControls.InitBarController(this.schedulerControl1);
            }
        }
 public static RibbonPageCategory CreateCategory(XmlNode xmlNode)
 {
     RibbonPageCategory pageCategory = new RibbonPageCategory();
     pageCategory.AutoStretchPageHeaders = true;
     if (XMLManager.GetNodeType(xmlNode) != XMLNodeType.PageCategory)
     {
         pageCategory = null;
     }
     else
     {
         //只是用来赋空的值而已
         GetXMLCategory(xmlNode);
     }
     return pageCategory;
 }
示例#13
0
 private static void BuildCategory(RibbonPageCategory currentCategory, PageCategory cat)
 {
     if (cat == null)
     {
         return;
     }
     foreach (var page in cat.Parts.OfType <Page>())
     {
         var currentPage = new RibbonPage()
         {
             Caption = page.DisplayName
         };
         currentCategory.Pages.Add(currentPage);
         BuildPage(currentPage, page);
     }
 }
示例#14
0
        public void ShowHideFormatCategory()
        {
            RibbonPageCategory selectionCategory = Ribbon.PageCategories[0] as RibbonPageCategory;

            if (selectionCategory == null)
            {
                return;
            }
            if (CurrentRichTextBox == null)
            {
                selectionCategory.Visible = false;
            }
            else
            {
                selectionCategory.Visible = CurrentRichTextBox.SelectionLength != 0;
            }
            if (selectionCategory.Visible)
            {
                Ribbon.SelectedPage = selectionCategory.Pages[0];
            }
        }
 void RibbonControlWrapper_CollectionChanged(object sender, System.Collections.Specialized.NotifyCollectionChangedEventArgs e)
 {
     if (e.Action == NotifyCollectionChangedAction.Add)
     {
         foreach (RibbonItemViewModel vm in e.NewItems)
         {
             var category = Target.Categories.FirstOrDefault(c => String.Equals(c.Name, vm.Category) || String.Equals(c.Caption, vm.Category));
             if (category == null)
             {
                 category = new RibbonPageCategory()
                 {
                     Name = vm.Category.Replace(" ", ""), Caption = vm.Category
                 };
                 Target.Categories.Add(category);
             }
             var page = category.Pages.FirstOrDefault(p => String.Equals(p.Name, vm.Page) || String.Equals(p.Caption, vm.Page));
             if (page == null)
             {
                 page = new RibbonPage()
                 {
                     Name = vm.Page.Replace(" ", ""), Caption = vm.Page
                 };
                 category.Pages.Add(page);
             }
             var group = page.Groups.FirstOrDefault(g => String.Equals(g.Name, vm.Group) || String.Equals(g.Caption, vm.Group));
             if (group == null)
             {
                 group = new RibbonPageGroup()
                 {
                     Name = vm.Group.Replace(" ", ""), Caption = vm.Group
                 };
                 page.Groups.Add(group);
             }
             group.Items.Add(new BarButtonItem()
             {
                 Content = vm.Content, Glyph = vm.Glyph
             });
         }
     }
 }
示例#16
0
        void AddDemoModuleBar(DemoModule demoModule)
        {
            var isVisible = CurrentCategory == ((ClassicShowType)demoModule.ShowMethodType).Category;
            RibbonPageCategoryBase rpcb;

            if (_subcategories.ContainsKey(((ClassicShowType)demoModule.ShowMethodType).Subcategory))
            {
                rpcb = _subcategories[((ClassicShowType)demoModule.ShowMethodType).Subcategory];
            }
            else
            {
                rpcb = new RibbonPageCategory()
                {
                    Caption = ((ClassicShowType)demoModule.ShowMethodType).Subcategory
                };
                Ribbon.Categories.Add(rpcb);
                _subcategories.Add(((ClassicShowType)demoModule.ShowMethodType).Subcategory, rpcb);
            }
            rpcb.IsVisible           = isVisible;
            demoModule.Bar.IsVisible = isVisible;
            this.ribbonManager.Merge(rpcb, demoModule.BarManager, demoModule.RibbonControl);
        }
示例#17
0
        /// <summary>
        /// Builds the specified ribbon.
        /// </summary>
        /// <param name="ribbon">The ribbon.</param>
        /// <param name="items">The items.</param>
        /// <param name="doAppletItemClicked">The do applet item clicked.</param>
        public static void Build(RibbonControl control, MenuContainer items, Action <object, RunMode> doAppletItemClicked)
        {
            ClearDynamicPages(control);
            _appletClickedAction = doAppletItemClicked;
            if (items == null)
            {
                return;
            }
            var c = items.Parts.OfType <PageCategory>().Count();
            var s = String.Format(c.ToString());

            foreach (var cat in items.Parts.OfType <PageCategory>())
            {
                var currentCategory = new RibbonPageCategory()
                {
                    Tag     = "CanDelete",
                    ToolTip = cat.ToolTip,
                    Caption = cat.DisplayName
                };
                control.Categories.Add(currentCategory);
                BuildCategory(currentCategory, cat);
            }
        }
示例#18
0
        public void CreateDynamicPageCategory(string pageCategoryName, Color categoryColor)
        {
            var page = new RibbonPageCategory(pageCategoryName, categoryColor, false);

            _barManager.Ribbon.PageCategories.Add(page);
        }
示例#19
0
        /// <summary>
        /// 修正菜单
        /// </summary>
        /// <param name="ribbonPageCategoryCollection"></param>
        /// <param name="_c"></param>
        virtual public void ChangeMenu(RibbonPageCategoryCollection ribbonPageCategoryCollection, IChildForm _c)
        {
            RibbonPageCategory selectionCategory = ribbonPageCategoryCollection[0] as RibbonPageCategory;

            if (selectionCategory == null)
            {
                return;
            }
            selectionCategory.Pages.Clear();
            if (_c == null)
            {
                selectionCategory.Visible = false;
            }
            else
            {
                selectionCategory.Visible = true;
                IList <FrmMenuPage> _menuPages = _c.GetMenuPages();
                foreach (FrmMenuPage _page in _menuPages)
                {
                    int _index = selectionCategory.Pages.Add(new RibbonPage(_page.PageTitle));
                    IList <FrmMenuGroup> _menugroups = _page.MenuGroups;

                    foreach (FrmMenuGroup _mg in _menugroups)
                    {
                        int                 _groupIndex = selectionCategory.Pages[_index].Groups.Add(new RibbonPageGroup(_mg.DisplayTitle));
                        RibbonPageGroup     _mgroup     = selectionCategory.Pages[_index].Groups[_groupIndex];
                        IList <FrmMenuItem> _items      = _mg.MenuItems;
                        foreach (FrmMenuItem _item in _items)
                        {
                            BarButtonItem _menuitem = new BarButtonItem();
                            _menuitem.Caption    = _item.MenuTitle;
                            _menuitem.Tag        = _item.CommandName;
                            _menuitem.LargeGlyph = _item.MenuIcon;
                            _menuitem.Glyph      = _item.MenuIcon;
                            _menuitem.LargeWidth = _item.MenuPicWidth;
                            _menuitem.Enabled    = _item.ButtonEnable;

                            if (_item.ChildMenus.Count < 1)
                            {
                                _menuitem.ItemClick += new ItemClickEventHandler(_menuitem_ItemClick);
                            }
                            else
                            {
                                _menuitem.ButtonStyle = BarButtonStyle.DropDown;
                                PopupMenu _cMenu = new PopupMenu();
                                _menuitem.DropDownControl = _cMenu;
                                _cMenu.Ribbon             = this.Ribbon;

                                foreach (FrmMenuItem _citem in _item.ChildMenus)
                                {
                                    BarButtonItem _cmItem = new BarButtonItem();
                                    _cmItem.Caption    = _citem.MenuTitle;
                                    _cmItem.Tag        = _citem.CommandName;
                                    _cmItem.LargeGlyph = _citem.MenuIcon;
                                    _cmItem.Glyph      = _citem.MenuIcon;
                                    _cmItem.LargeWidth = _citem.MenuPicWidth;
                                    _cmItem.Enabled    = _citem.ButtonEnable;
                                    _cmItem.ItemClick += new ItemClickEventHandler(_menuitem_ItemClick);
                                    this.Ribbon.Items.Add(_cmItem);
                                    _cMenu.ItemLinks.Add(_cmItem);
                                }
                            }


                            _mgroup.ItemLinks.Add(_menuitem);
                        }
                    }
                }
            }

            if (selectionCategory.Visible && selectionCategory.Pages.Count > 0)
            {
                ribbonPageCategoryCollection.Ribbon.SelectedPage = selectionCategory.Pages[0];
            }
        }
示例#20
0
        internal override void InitModule(DevExpress.Utils.Menu.IDXMenuManager manager, object data)
        {
            base.InitModule(manager, data);
            schedulerControl1.MenuManager = manager;
            this.ribbon = manager as RibbonControl;
            this.appointmentCategory = FindAppointmentPage(this.ribbon);

            if (calendarControls == null) {
                this.calendarControls = data as ucCalendar;
                this.calendarControls.InitDateNavigator(this.schedulerControl1);
                this.calendarControls.InitResourcesTree(this.schedulerStorage1);
                this.calendarControls.InitBarController(this.schedulerControl1);
            }
        }
示例#21
0
        private void DocGroup_SelectedItemChanged(object sender, SelectedItemChangedEventArgs e)
        {
            if (ribbonControl.Categories.Count > 1)
            {
                ribbonControl.Categories.RemoveAt(1);
            }

            DocumentPanel panel = e.Item as DocumentPanel;

            if (panel == null)
            {
                return;
            }

            Page win = panel.Tag as Page;

            if (win == null)
            {
                return;
            }

            #region 合并ribbon菜单

            RibbonControl ribCtor = win.FindName("ribbonControl") as RibbonControl;
            if (ribCtor != null)
            {
                RibbonDefaultPageCategory pageCategory    = ribCtor.Categories.FirstOrDefault() as RibbonDefaultPageCategory;
                RibbonPageCategory        ribPageCategory = new RibbonPageCategory();
                ribPageCategory.Color   = Colors.Orange;
                ribPageCategory.Caption = pageCategory.Caption;
                ribbonControl.Categories.Add(ribPageCategory);

                foreach (RibbonPage page in pageCategory.Pages)
                {
                    RibbonPage newPage = new RibbonPage();
                    foreach (RibbonPageGroup group in page.Groups)
                    {
                        RibbonPageGroup newGroup = new RibbonPageGroup()
                        {
                            Caption = group.Caption
                        };
                        foreach (var item in group.Items)
                        {
                            if (item is BarButtonItem)
                            {
                                BarButtonItem btn    = item as BarButtonItem;
                                BarButtonItem newBtn = new BarButtonItem()
                                {
                                    Content     = btn.Content,
                                    RibbonStyle = btn.RibbonStyle,
                                    Glyph       = btn.Glyph,
                                    LargeGlyph  = btn.LargeGlyph,
                                    KeyGesture  = btn.KeyGesture,
                                };
                                newBtn.ItemClick += (s, arg) =>
                                {
                                    btn.Focusable = true;
                                    btn.Focus();       //TextBox 失去焦点后才反馈给绑定值
                                    btn.PerformClick();
                                };

                                Binding binding = new Binding()
                                {
                                    Source = btn, Path = new PropertyPath("IsEnabled")
                                };
                                BindingOperations.SetBinding(newBtn, IsEnabledProperty, binding);

                                binding = new Binding()
                                {
                                    Source = btn, Path = new PropertyPath("Visibility")
                                };
                                BindingOperations.SetBinding(newBtn, VisibilityProperty, binding);

                                newGroup.Items.Add(newBtn);
                            }
                        }
                        newPage.Groups.Add(newGroup);
                    }

                    newPage.Caption    = "工作栏";
                    newPage.IsSelected = true;
                    ribPageCategory.Pages.Add(newPage);
                }

                ribPageCategory.IsVisible = true;
            }

            ribbonControl.UpdateLayout();

            #endregion
        }
示例#22
0
        protected override void Adapt(IRegion region, RibbonControl regionTarget)
        {
            region.Views.CollectionChanged += (s, e) =>
            {
                if (e.Action == NotifyCollectionChangedAction.Add)
                {
                    foreach (object element in e.NewItems)
                    {
                        if (element is RibbonPageCategory)
                        {
                            RibbonPageCategory category = (RibbonPageCategory)element;
                            if (category.Pages.Count == 0)
                            {
                                return;
                            }

                            RibbonPageCategory realCategory = regionTarget.Items.Where(item =>
                            {
                                if (item is RibbonPageCategory && ((RibbonPageCategory)item).Caption == category.Caption)
                                {
                                    return(true);
                                }
                                return(false);
                            }).FirstOrDefault() as RibbonPageCategory;
                            if (realCategory != null)
                            {
                                RibbonPage page     = category.Pages.First();
                                RibbonPage realPage = realCategory.Pages.Where(item =>
                                {
                                    if (item.Caption.ToString() == page.Caption.ToString())
                                    {
                                        return(true);
                                    }
                                    return(false);
                                }).FirstOrDefault() as RibbonPage;
                                if (realPage != null)
                                {
                                    realCategory.Pages.Remove(realPage);

                                    foreach (var group in page.Groups)
                                    {
                                        realPage.Groups.Add(group);
                                    }

                                    realCategory.Pages.Add(realPage);
                                    regionTarget.SelectedPage = realPage;
                                }
                                else
                                {
                                    realCategory.Pages.Add(page);
                                    regionTarget.SelectedPage = page;
                                }
                            }
                            else
                            {
                                regionTarget.Items.Add(category);
                                regionTarget.SelectedPage = category.Pages.First();
                            }
                        }
                        else if (element is BarButtonItem)
                        {
                            RibbonDefaultPageCategory realCategory = regionTarget.Items.Where(item => item is RibbonDefaultPageCategory).First() as RibbonDefaultPageCategory;
                            RibbonPage realPage = realCategory.Pages.Where(item =>
                            {
                                if (item.Caption.ToString() == UIConstants.MainCommandPageName)
                                {
                                    return(true);
                                }
                                return(false);
                            }).FirstOrDefault() as RibbonPage;
                            RibbonPageGroup realGroup = realPage.Groups.Where(item =>
                            {
                                if (item.Caption.ToString() == UIConstants.MainCommandGroupName)
                                {
                                    return(true);
                                }
                                return(false);
                            }).FirstOrDefault() as RibbonPageGroup;
                            if (realGroup != null)
                            {
                                int index = realPage.Groups.IndexOf(realGroup);
                                realPage.Groups.RemoveAt(index);
                                realGroup.ItemLinks.Add((BarButtonItem)element);
                                realPage.Groups.Insert(index, realGroup);
                            }
                            else
                            {
                                RibbonPageGroup group = new RibbonPageGroup();
                                group.Caption = UIConstants.MainCommandGroupName;
                                group.ItemLinks.Add((BarButtonItem)element);
                                realPage.Groups.Add(group);
                            }
                        }
                        else if (element is RibbonDefaultPageCategory)
                        {
                            RibbonDefaultPageCategory category     = (RibbonDefaultPageCategory)element;
                            RibbonDefaultPageCategory realCategory = regionTarget.Items.Where(item => item is RibbonDefaultPageCategory).First() as RibbonDefaultPageCategory;
                            RibbonPage page = category.Pages.First();
                            if (page.Groups.Count == 0)
                            {
                                return;
                            }
                            RibbonPage realPage = realCategory.Pages.Where(item =>
                            {
                                if (item.Caption.ToString() == page.Caption.ToString())
                                {
                                    return(true);
                                }
                                return(false);
                            }).FirstOrDefault() as RibbonPage;
                            RibbonPageGroup group = page.Groups.First();
                            if (group.ItemLinks.Count == 0)
                            {
                                return;
                            }
                            RibbonPageGroup realGroup = realPage.Groups.Where(item =>
                            {
                                if (item.Caption.ToString() == page.Caption.ToString())
                                {
                                    return(true);
                                }
                                return(false);
                            }).FirstOrDefault() as RibbonPageGroup;
                            if (realGroup != null)
                            {
                                int index = realPage.Groups.IndexOf(realGroup);
                                realPage.Groups.RemoveAt(index);
                                realGroup.ItemLinks.Add(group.ItemLinks.First());
                                realPage.Groups.Insert(index, realGroup);
                            }
                            else
                            {
                                realPage.Groups.Add(group);
                            }
                        }
                    }
                }
                else if (e.Action == NotifyCollectionChangedAction.Remove)
                {
                    foreach (object element in e.OldItems)
                    {
                        if (element is RibbonPageCategory)
                        {
                            RibbonPageCategory category = (RibbonPageCategory)element;
                            if (category.Pages.Count == 0)
                            {
                                return;
                            }

                            RibbonPageCategory realCategory = regionTarget.Items.Where(item =>
                            {
                                if (item is RibbonPageCategory && ((RibbonPageCategory)item).Caption == category.Caption)
                                {
                                    return(true);
                                }
                                return(false);
                            }).FirstOrDefault() as RibbonPageCategory;
                            if (realCategory != null)
                            {
                                regionTarget.Items.Remove(realCategory);
                            }
                        }
                        else if (element is BarButtonItem)
                        {
                            BarButtonItem button = (BarButtonItem)element;

                            RibbonDefaultPageCategory realCategory = regionTarget.Items.Where(item => item is RibbonDefaultPageCategory).First() as RibbonDefaultPageCategory;
                            RibbonPage realPage = realCategory.Pages.Where(item =>
                            {
                                if (item.Caption.ToString() == UIConstants.MainCommandPageName)
                                {
                                    return(true);
                                }
                                return(false);
                            }).FirstOrDefault() as RibbonPage;
                            RibbonPageGroup realGroup = realPage.Groups.Where(item =>
                            {
                                if (item.Caption.ToString() == UIConstants.MainCommandGroupName)
                                {
                                    return(true);
                                }
                                return(false);
                            }).FirstOrDefault() as RibbonPageGroup;
                            int index = realPage.Groups.IndexOf(realGroup);
                            realPage.Groups.RemoveAt(index);
                            for (int i = 0; i < realGroup.ItemLinks.Count; i++)
                            {
                                if (realGroup.ItemLinks[i].ActualContent == button.Content)
                                {
                                    realGroup.ItemLinks.RemoveAt(i);
                                    break;
                                }
                            }
                            realPage.Groups.Insert(index, realGroup);
                        }
                    }
                }
            };
        }
示例#23
0
        private void setButtonLocks(bool locked, RibbonPageCategory category)
        {
            var groups = _buttonGroupCache[identifierForCategory(category)];

            groups.Each(group => group.WithLock(locked));
        }
示例#24
0
 private static string identifierForCategory(RibbonPageCategory category)
 {
     return(category.Text);
 }