Пример #1
0
        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);
                }
            }
        }
Пример #2
0
 public void SetFileMenView(RadRibbonBarBackstageView view)
 {
     _view = view;
 }