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); } } }
private void CreateUI() { error = "CreateUI"; _startProgress.PrintStartInfo("正在加载界面元数据......"); _uiDefinition = new UIFrameworkDefinition(); _startProgress.PrintStartInfo("正在创建工具栏......"); CreateRibbonBar(); _startProgress.PrintStartInfo("正在创建视窗区......"); CreateRadDock(); _startProgress.PrintStartInfo("正在创建会话......"); CreateSession(); LayoutDataFrameInitlializer.Init(); _startProgress.PrintStartInfo("加载界面组件......"); LoadUIFromXml(); SetTileInfo(); }
private void BuildTab(UIFrameworkDefinition uidef) { _uiDef = uidef; foreach (UITab uitab in uidef.UITabs) { RibbonTab tab = null; //load ribbontab from single assembly if (uitab.ContentOfUIProvider != null && uitab.ContentOfUIProvider.Control != null) { tab = (RibbonTab)(uitab.ContentOfUIProvider.Control as IUIProvider).Content; tab.Tag = uitab.ContentOfUIProvider.Control as IUIProvider; (tab.Tag as IUIProvider).Init(_session); if (!string.IsNullOrEmpty(uitab.Text)) { tab.Text = uitab.Text; } TryLoadItemsOfTab(uidef, uitab, tab);//支持在UIProvider的Tab下的子节点 } else//create ribbontab by xml { tab = new RibbonTab(); tab.Text = uitab.Text; tab.Name = uitab.Name; tab.Tag = uitab; TryLoadItemsOfTab(uidef, uitab, tab); } // Font font = uidef.GetFont("tabfont"); if (font != null) { tab.Font = font; } tab.Click += new EventHandler(tab_Click); // _tabs.Add(tab.Text, new List <RadItem>(tab.Items.ToArray())); if (tab.Text != "开始") { tab.Items.Clear(); } else { _currentTab = tab; } _radRibbonBar.CommandTabs.Add(tab); } }
private void TryLoadItemsOfTab(UIFrameworkDefinition uidef, UITab uitab, RibbonTab tab) { if (uitab.Children == null) { return; } foreach (UIItem it in uitab.Children) { if (it is UICommandGroup) { RadRibbonBarGroup group = GetRadRibbonBarGroup(it as UICommandGroup); if (group != null) { tab.Items.Add(group); if (!it.Visible) { group.Visibility = ElementVisibility.Collapsed; } } } } }
public UIFrameworkBuilder(ISmartSession session, UIFrameworkDefinition uiDef) { _uiDef = uiDef; _session = session; _buttonClickHandler = new EventHandler(button_Click); }