private void BuildFileMenuView(UIFrameworkDefinition uiDef) { UIFileMenuView mv = uiDef.UIFileMenu; if (mv.MenuItems == null || mv.MenuItems.Length == 0) { return; } _fileMenuView = new RadRibbonBarBackstageView(); _fileMenuView.Text = "开始"; _fileMenuView.ItemClicked += new EventHandler <BackstageItemEventArgs>(_fileMenuView_ItemClicked); _fileMenuView.BackstageViewOpened += new EventHandler(_fileMenuView_BackstageViewOpened); _fileMenuView.BackstageViewClosed += new EventHandler(_fileMenuView_BackstageViewClosed); (_session.SmartWindowManager.MainForm as Form).Controls.Add(_fileMenuView); _radRibbonBar.RibbonBarElement.Text = "文件"; _radRibbonBar.BackstageControl = _fileMenuView; Font btnItemFont = new Font("微软雅黑", 10.5f); foreach (UIMenuItem item in mv.MenuItems) { if (!string.IsNullOrEmpty(item.Provider)) { BackstageViewPage page = new BackstageViewPage(); IUIProvider uiprd = item.ContentOfUIProvider.Control as IUIProvider; if (uiprd != null) { page.Controls.Add(uiprd.Content as Control); (uiprd as IUIProvider).Init(_session); if (uiprd is IRecentFileContainer) { _recentFileContainer = uiprd as IRecentFileContainer; _recentFileContainer.SetFileMenView(_fileMenuView); } } BackstageTabItem tabPage = new BackstageTabItem(item.Text); tabPage.Margin = new Padding(3, 3, 3, 3); tabPage.Font = btnItemFont; tabPage.Page = page; _fileMenuView.Controls.Add(page); _fileMenuView.Items.Add(tabPage); } else { BackstageButtonItem fileMenuItem = new BackstageButtonItem(item.Text); fileMenuItem.Margin = new Padding(3, 3, 3, 3); fileMenuItem.Font = btnItemFont; fileMenuItem.Tag = item.Identify; fileMenuItem.Click += new EventHandler(fileMenuItem_Click); Image img = GetImage(item.Image); if (img != null) { fileMenuItem.Image = img; } _fileMenuView.Items.Add(fileMenuItem); } } }
public void SetFileMenView(RadRibbonBarBackstageView view) { _view = view; }