private void ribbonControl1_CanMinimizePageGroup(object sender, CanMinimizePageGroupEventArgs e) { if (e.PageGroup.Tag == null) { return; } int groupMinimizeIndex = GetGroupMinimizeIndex(e.PageGroup); if (groupMinimizeIndex == -1) { e.CanMinimize = false; return; } for (int i = 0; i < e.PanelViewInfo.Groups.Count; i++) { RibbonPageGroupViewInfo groupViewInfo = e.PanelViewInfo.Groups[i]; int minimizeIndex = GetGroupMinimizeIndex(groupViewInfo.PageGroup); if (minimizeIndex > 0 && minimizeIndex < groupMinimizeIndex) { if (!groupViewInfo.Minimized) { e.CanMinimize = false; return; } } } }
protected override int Reduce() { if (GroupInfo.Items.Count == 0) { return(0); } RibbonPageGroupViewInfo pageGroupInfo = GroupInfo as RibbonPageGroupViewInfo; if (pageGroupInfo == null) { return(base.Reduce()); } if (!ViewInfo.CanMinimizePageGroup(pageGroupInfo.PageGroup)) { return(1); } return(base.Reduce()); }
protected override RibbonPageGroupLayoutCalculator CreateGroupLayoutCalculator(RibbonPageGroupViewInfo pageInfo) { return(new RibbonPageGroupComplexLayoutCalculatorDescendant(pageInfo)); }
public MyRibbonPageGroupComplexLayoutCalculator(RibbonPageGroupViewInfo groupInfo) : base(groupInfo) { }