public void OpenView(IView view) { // 避免重复添加视图 if (ViewList.Contains(view)) { return; } ViewList.Add(view); var control = view as Control; control.Name = view.ID; if (control is IBarSupport) { var barSupport = control as IBarSupport; control.Enter += (s, e) => { var bars = barSupport.ExtendBars; if (bars.IsNotNullOrEmpty()) { foreach (var bar in bars) { this.BarExtend.Merge(bar); this.BarItemSelectedObject.Caption = view.Caption; this.BarItemSelectedObject.Glyph = view.Icon; this.BarItemSelectedObject.LargeGlyph = view.LargeIcon; } } if (this.BarExtend.VisibleLinks.Count > 1) { this.BarExtend.Visible = true; } else { this.BarExtend.Visible = false; } }; control.Leave += (s, e) => { this.BarExtend.UnMerge(); this.BarExtend.Visible = false; }; } var groupItem = LayoutControlGroupRoot.AddGroup(); groupItem.Name = view.ID; groupItem.Text = view.Caption; groupItem.CaptionImage = view.Icon; groupItem.CustomizationFormText = view.Caption; groupItem.TextLocation = DevExpress.Utils.Locations.Top; groupItem.Padding = new DevExpress.XtraLayout.Utils.Padding(0); groupItem.AllowCustomizeChildren = false; var layoutControlItem = groupItem.AddItem(); layoutControlItem.Name = view.ID; layoutControlItem.Text = view.Caption; layoutControlItem.Image = view.Icon; layoutControlItem.CustomizationFormText = view.Caption; layoutControlItem.Control = control; layoutControlItem.TextLocation = DevExpress.Utils.Locations.Top; layoutControlItem.TextVisible = false; layoutControlItem.Padding = new DevExpress.XtraLayout.Utils.Padding(0); layoutControlItem.ShowInCustomizationForm = false; LayoutControl.Refresh(); LayoutControl.SetDefaultLayout(); }