private RibbonMenu CreateStartMenu() { RibbonMenu menu = new RibbonMenu(); { RibbonMenuButton button = new RibbonMenuButton(); button.SmallImage = StartImages.New; button.Name = "新建文档"; menu.MenuItems.Add(button); } { RibbonMenuButton button = new RibbonMenuButton(); button.SmallImage = StartImages.Open; button.Name = "打开文档"; button.Enabled = false; menu.MenuItems.Add(button); } { RibbonMenuButton button = new RibbonMenuButton(); button.SmallImage = StartImages.Save; button.Name = "保存文档"; menu.MenuItems.Add(button); } { RibbonMenuButton button = new RibbonMenuButton(); button.Name = "关闭"; menu.MenuItems.Add(button); } return(menu); }
private void MaskDataColumnNames(dynamic data) { // flatten data object in of an array if (data.GetType() == typeof(JArray)) { data = data[0]; } // find merge fields ribbon menu button RibbonMenuButton ctlInsertMergeFields = ribbonReportingTab1.FindItem( RibbonReportingTab.RibbonItem.TXITEM_InsertMergeField) as RibbonMenuButton; // get the selected master table info DataTableInfo dataTableInfo = ribbonReportingTab1.DataSourceManager.MasterDataTableInfo; // select token in data object if (dataTableInfo.TableName != "RootTable") { data = data.SelectToken("$.." + dataTableInfo.TableName); } // change the strings ApplyMaskedString(ctlInsertMergeFields.DropDownItems, data); }
private void Pluginmenu_MenuItem_Click(object sender, MouseButtonEventArgs e) { RibbonMenuButton mi = (RibbonMenuButton)sender; IDspPlugin1 p = (IDspPlugin1)mi.DataContext; IEnumerable <XElement> retsigs = this.ExecutePluginWithDialog(p, 0.0, null); // xxx neuen stapel erzeugen und da retsigs reinschmeissen }
void IExpandCollapseProvider.Expand() { if (!IsEnabled()) { throw new ElementNotEnabledException(); } RibbonMenuButton owner = OwningMenuButton; if (!owner.HasItems) { throw new InvalidOperationException(Microsoft.Windows.Controls.SR.Get(Microsoft.Windows.Controls.SRID.UIA_OperationCannotBePerformed)); } owner.IsDropDownOpen = true; }
void IExpandCollapseProvider.Collapse() { if (!IsEnabled()) { throw new ElementNotEnabledException(); } RibbonMenuButton owner = OwningMenuButton; if (!owner.HasItems) { throw new InvalidOperationException(SR.Get(SRID.UIA_OperationCannotBePerformed)); } owner.IsDropDownOpen = false; }
/// <summary> /// Creates peers for CustomizeMenuButton and adds them to the /// collection of children peers. /// </summary> /// <returns></returns> protected override List <AutomationPeer> GetChildrenCore() { List <AutomationPeer> children = base.GetChildrenCore(); RibbonMenuButton customizeMenuButton = OwningToolBar.CustomizeMenuButton; if (customizeMenuButton != null) { if (children == null) { children = new List <AutomationPeer>(); } children.Add(CreatePeerForElement(customizeMenuButton)); } return(children); }
private RibbonMenu CreateSortMenu() { RibbonMenu menu = new RibbonMenu(); { RibbonMenuButton button = new RibbonMenuButton(); button.SmallImage = ToolImages.SortAscending; button.Name = "我还是不知道为什么要排序"; menu.MenuItems.Add(button); } { RibbonMenuButton button = new RibbonMenuButton(); button.SmallImage = ToolImages.SortDescending; button.Name = "我还是不知道为什么要反着排序"; menu.MenuItems.Add(button); } return(menu); }
private RibbonDropDownMenu CreateOpenMenu(RibbonContainer container) { string[] resources = typeof(TurtleIdeForm).Assembly.GetManifestResourceNames() .Where(s => s.EndsWith(".turtle.txt")) .ToArray(); RibbonMenu menu = new RibbonMenu(); foreach (string resource in resources) { RibbonMenuButton button = new RibbonMenuButton(); button.SmallImage = TurtleIdeRibbon.New; button.Name = resource.Substring("VlTurtle.Sample.NativeX.".Length); button.Executed += new EventHandler(ribbonOpenSample_Click); menu.MenuItems.Add(button); } return(new RibbonDropDownMenu(container) { Menu = menu }); }
private RibbonMenu CreateStartMenu() { RibbonMenu menu = new RibbonMenu(); { RibbonMenuButton button = new RibbonMenuButton(); button.SmallImage = TurtleIdeRibbon.New; button.Name = "New Turtle"; button.Executed += (s, e) => this.content.OperationNew(); menu.MenuItems.Add(button); } { RibbonMenuButton button = new RibbonMenuButton(); button.SmallImage = TurtleIdeRibbon.Open; button.Name = "Open Turtle"; button.Executed += (s, e) => this.content.OperationOpen(); menu.MenuItems.Add(button); } { RibbonMenuButton button = new RibbonMenuButton(); button.SmallImage = TurtleIdeRibbon.Save; button.Name = "Save Turtle"; button.Executed += (s, e) => this.content.OperationSave(); menu.MenuItems.Add(button); } { RibbonMenuButton button = new RibbonMenuButton(); button.SmallImage = TurtleIdeRibbon.SaveAs; button.Name = "Save Turtle As"; button.Executed += (s, e) => this.content.OperationSaveAs(); menu.MenuItems.Add(button); } { RibbonMenuButton button = new RibbonMenuButton(); button.Name = "Exit"; button.Executed += (s, e) => this.Close(); menu.MenuItems.Add(button); } return(menu); }
private RibbonMenu CreateAlignMenu() { RibbonMenu menu = new RibbonMenu(); { RibbonMenuButton button = new RibbonMenuButton(); button.SmallImage = ToolImages.AlignLeft; button.Name = "左对齐"; menu.MenuItems.Add(button); } { RibbonMenuButton button = new RibbonMenuButton(); button.SmallImage = ToolImages.AlignCenter; button.Name = "中间对齐"; button.DropDown = new RibbonDropDownMenu(this.Ribbon) { Menu = CreateSortMenu() }; menu.MenuItems.Add(button); } { RibbonMenuButton button = new RibbonMenuButton(); button.SmallImage = ToolImages.AlignRight; button.Name = "右对齐"; menu.MenuItems.Add(button); } { RibbonMenuButton button = new RibbonMenuButton(); button.SmallImage = ToolImages.AlignFull; button.Name = "全部对齐"; menu.MenuItems.Add(button); } { RibbonMenuButton button = new RibbonMenuButton(); button.SmallImage = ToolImages.AlignExpand; button.Name = "不知道是什么对齐"; menu.MenuItems.Add(button); } return(menu); }
protected override void OnIsItemsHostChanged(bool oldIsItemsHost, bool newIsItemsHost) { base.OnIsItemsHostChanged(oldIsItemsHost, newIsItemsHost); ItemsControl itemsControl = ParentItemsControl; RibbonMenuButton menuButtonParent = itemsControl as RibbonMenuButton; RibbonMenuItem menuItemParent = itemsControl as RibbonMenuItem; // ParentItemsControl should be either RibbonMenuButton or RibbonMenuItem if (menuButtonParent != null || menuItemParent != null) { if (newIsItemsHost) { IItemContainerGenerator generator = itemsControl.ItemContainerGenerator as IItemContainerGenerator; if (generator != null && generator.GetItemContainerGeneratorForPanel(this) == generator) { if (menuButtonParent != null) { menuButtonParent.InternalItemsHost = this; } else if (menuItemParent != null) { menuItemParent.InternalItemsHost = this; } } } else { if (menuButtonParent != null && menuButtonParent.InternalItemsHost == this) { menuButtonParent.InternalItemsHost = null; } else if (menuItemParent != null && menuItemParent.InternalItemsHost == this) { menuItemParent.InternalItemsHost = null; } } } }
/// <summary> /// Returns name for automation clients to display /// </summary> protected override string GetNameCore() { string name = base.GetNameCore(); RibbonMenuButton owner = OwningMenuButton; if (String.IsNullOrEmpty(name)) { name = owner.Label; } // Get ToggleButton.Content if (String.IsNullOrEmpty(name) && owner.PartToggleButton != null) { AutomationPeer buttonPeer = UIElementAutomationPeer.CreatePeerForElement(owner.PartToggleButton); if (buttonPeer != null) { name = buttonPeer.GetName(); } } return(name); }
protected override List <AutomationPeer> GetChildrenCore() { List <AutomationPeer> children = base.GetChildrenCore(); // Add PartToggleButton to the children collection. Partially fixes Dev11 42908. RibbonMenuButton owner = OwningMenuButton; if (owner != null && owner.PartToggleButton != null) { AutomationPeer peer = CreatePeerForElement(owner.PartToggleButton); if (peer != null) { if (children == null) { children = new List <AutomationPeer>(1); } children.Insert(0, peer); } } return(children); }
private void InitializeComponents() { base.Id = Id; Title = "OPTIMARCH"; Panels.Add(new RibbonPanel { Source = new RibbonPanelSource { Title = "发布" } }); var list = new RibbonMenuButton(); var a0 = new RibbonMenuItem { Text = "A0", ShowText = true, }; list.Items.Add(a0); Panels[0].Source.Items.Add(list); }
private void LoadPSFolders(DirectoryInfo Dir, RibbonMenuButton Menu) { foreach (string sFile in Directory.GetFiles(Dir.FullName, "*.ps1", SearchOption.TopDirectoryOnly)) { try { RibbonButton PSItem = new RibbonButton(); PSItem.Label = System.IO.Path.GetFileNameWithoutExtension(new FileInfo(sFile).FullName); PSItem.Tag = sFile; PSItem.SmallImageSource = new BitmapImage(new Uri("/Plugin_PSScripts;component/Images/PS.ico", UriKind.Relative)); PSItem.ToolTip = sFile; PSItem.HorizontalAlignment = System.Windows.HorizontalAlignment.Left; PSItem.Click += PSItem_Click; Menu.Items.Add(PSItem); } catch { } } foreach (string sDir in Directory.GetDirectories(Dir.FullName, "*", SearchOption.TopDirectoryOnly)) { try { RibbonMenuButton PSFolder = new RibbonMenuButton(); PSFolder.Label = new DirectoryInfo(sDir).Name; PSFolder.SmallImageSource = new BitmapImage(new Uri("/Plugin_PSScripts;component/Images/Folder_16.png", UriKind.Relative)); PSFolder.HorizontalAlignment = System.Windows.HorizontalAlignment.Left; PSFolder.ToolTip = sDir; PSFolder.Tag = sDir; LoadPSFolders(new DirectoryInfo(sDir), PSFolder); Menu.Items.Add(PSFolder); } catch { } } }
public override MenuTab GetMenu() { var menu = base.GetMenu(); if (_controllerMaster != null) { foreach (var item in menu.Tabs[0].Pannelli) { var items = item.Pulsanti.Where(a => a.Tag != null && !a.Tag.Equals(MenuTab.TagAdd) && !a.Tag.Contains(MenuTab.TagRemove) ).ToList(); item.Pulsanti.RemoveAll(a => items.Contains(a)); item.Testo = "Listino fornitori"; } var presenti = menu.Tabs[0].Pannelli.Where(a => a.Pulsanti.Count() > 0).First(); var save = new RibbonMenuButton() { Testo = "Salva", Immagine = StrumentiMusicali.Core.Properties.ImageIcons.Save }; presenti.Pulsanti.Add(save); save.Click += Save_Click; } else { if (InLineEditor) { int removed = 0; foreach (var item in menu.Tabs[0].Pannelli) { var items = item.Pulsanti.Where(a => a.Tag != null && (a.Tag.Equals(MenuTab.TagAdd) || a.Tag.Contains(MenuTab.TagEdit) || a.Tag.Contains(MenuTab.TagCercaClear) || a.Tag.Contains(MenuTab.TagCerca) || a.Tag.Contains(MenuTab.TagRemove) ) ).ToList(); removed += item.Pulsanti.RemoveAll(a => items.Contains(a)); } menu.Tabs[0].Pannelli.RemoveAll(a => a.Pulsanti.Count == 0); if (removed != 0) { var presenti = menu.Tabs[0].Pannelli.Where(a => a.Pulsanti.Count() > 0).First(); var generaOdg = new RibbonMenuButton() { Testo = "Genera ordini di acquisto", Immagine = StrumentiMusicali.Core.Properties.ImageIcons.GeneraODQ_ }; presenti.Pulsanti.Add(generaOdg); generaOdg.Click += GeneraOdq_click; var savePreordine = new RibbonMenuButton() { Testo = "Salva Qta da ordinare", Immagine = StrumentiMusicali.Core.Properties.ImageIcons.Save }; presenti.Pulsanti.Add(savePreordine); savePreordine.Click += SavePreordine_Click;; } } } return(menu); }
private void UpdateRendererList() { var list = from value in Plugin.Manager.PluginManager.PluginRendererList orderby value.Group.Name ascending group value by value.Group; foreach (var group in list) { RibbonGroup rgGroup = new RibbonGroup(); rgGroup.Header = group.Key.Name; rgGroup.SmallImageSource = group.Key.Image.Source; rgGroup.Tag = group.Key; rtRenderer.Items.Add(rgGroup); /* Effects */ IEnumerator <IRenderer> renderers = group.GetEnumerator(); while (renderers.MoveNext()) { if (renderers.Current.DefaultCount > 0) { RibbonMenuButton btn = new RibbonMenuButton(); btn.Label = renderers.Current.Name; btn.SmallImageSource = renderers.Current.Icon.Source; btn.ToolTipTitle = renderers.Current.Name; btn.ToolTipImageSource = BitmapFrame.Create(new Uri("pack://application:,,, /Effect FX;component/Resources/Info.ico")); btn.ToolTipDescription = renderers.Current.Description; btn.ToolTipFooterTitle = renderers.Current.Group.Name; btn.ToolTipFooterImageSource = renderers.Current.Group.Image.Source; btn.ToolTipFooterDescription = renderers.Current.Group.Description; btn.Tag = renderers.Current; RibbonGallery gallery = new RibbonGallery(); gallery.MaxHeight = 500; gallery.Command = (ICommand)Resources["cmdImageNull"]; RibbonGalleryCategory cat = new RibbonGalleryCategory(); gallery.Items.Add(cat); for (int i = 0; i < renderers.Current.DefaultCount; i++) { RibbonGalleryItem item = new RibbonGalleryItem(); Image image = new Image(); image.Width = 230; image.Height = 124; image.Stretch = Stretch.UniformToFill; image.HorizontalAlignment = System.Windows.HorizontalAlignment.Center; image.Source = BitmapFrame.Create(new Uri("pack://application:,,, /Effect FX;component/Resources/preview.png")); image.Source = renderers.Current.GenerateImage(image.Source as BitmapSource, i); image.Tag = new KeyValuePair <int, IRenderer>(i, renderers.Current); previewImageList.Add(image); item.Content = image; cat.Items.Add(item); int finalIndex = i; image.MouseDown += (s, e) => { //Console.WriteLine("OK: " + finalIndex); manager.AddAction((btn.Tag as IRenderer).Name, imgPicture.Source as BitmapFrame); imgPicture.Source = (btn.Tag as IRenderer).GenerateImage( imgPicture.Source as BitmapFrame, finalIndex); UpdatePreviewImages(); gallery.SelectedItem = null; }; } btn.Items.Add(gallery); rgGroup.Items.Add(btn); } else { RibbonButton btn = new RibbonButton(); btn.Label = renderers.Current.Name; btn.SmallImageSource = renderers.Current.Icon.Source; btn.ToolTipTitle = renderers.Current.Name; btn.ToolTipImageSource = BitmapFrame.Create(new Uri("pack://application:,,, /Effect FX;component/Resources/Info.ico")); btn.ToolTipDescription = renderers.Current.Description; btn.ToolTipFooterTitle = renderers.Current.Group.Name; btn.ToolTipFooterImageSource = renderers.Current.Group.Image.Source; btn.ToolTipFooterDescription = renderers.Current.Group.Description; btn.Tag = renderers.Current; rgGroup.Items.Add(btn); } } //while } //for }
/// <summary> /// Initialize Automation Peer for RibbonButton /// </summary> public RibbonMenuButtonAutomationPeer(RibbonMenuButton owner) : base(owner) { }
private RibbonMenu CreateTableMenu() { RibbonMenu menu = new RibbonMenu(); { RibbonMenuButton button = new RibbonMenuButton(); button.SmallImage = ToolImages.TableNone; button.Name = "没有边框"; button.DropDown = new RibbonDropDownMenu(this.Ribbon) { Menu = CreateAlignMenu() }; menu.MenuItems.Add(button); } { RibbonMenuButton button = new RibbonMenuButton(); button.SmallImage = ToolImages.TableLeft; button.Name = "左边有边框"; menu.MenuItems.Add(button); } { RibbonMenuButton button = new RibbonMenuButton(); button.SmallImage = ToolImages.TableRight; button.Name = "右边有边框"; menu.MenuItems.Add(button); } { RibbonMenuButton button = new RibbonMenuButton(); button.SmallImage = ToolImages.TableBottom; button.Name = "下面有边框"; menu.MenuItems.Add(button); } { RibbonMenuButton button = new RibbonMenuButton(); button.SmallImage = ToolImages.TableBorder; button.Name = "周围都是边框"; button.Enabled = false; menu.MenuItems.Add(button); } { RibbonMenuButton button = new RibbonMenuButton(); button.SmallImage = ToolImages.TableAll; button.Name = "连里面都是边框"; menu.MenuItems.Add(button); } { RibbonMenuSeparator separator = new RibbonMenuSeparator(); menu.MenuItems.Add(separator); } { RibbonMenuButton button = new RibbonMenuButton(); button.SmallImage = ToolImages.SortAscending; button.Name = "不知道为什么要排序"; menu.MenuItems.Add(button); } { RibbonMenuButton button = new RibbonMenuButton(); button.SmallImage = ToolImages.SortDescending; button.Name = "不知道为什么要反着排序"; button.DropDown = new RibbonDropDownMenu(this.Ribbon) { Menu = CreateSortMenu() }; menu.MenuItems.Add(button); } return(menu); }
private void InitPlugins() { // Initalize all plug-ins logger.Debug("Loading plug-ins"); // Load Plugins AggregateCatalog catalog = new AggregateCatalog(new AssemblyCatalog(System.Reflection.Assembly.GetExecutingAssembly())); try { DirectoryCatalog dircatalog = new DirectoryCatalog("Plugins"); catalog.Catalogs.Add(dircatalog); } catch (Exception e) { throw new Exception("Cannot load external plug-ins. Plug-in directory is not available.\n", e); } try { CompositionContainer container = new CompositionContainer(catalog); container.ComposeParts(this); } catch (ReflectionTypeLoadException typeLoadException) { StringBuilder loaderMessages = new StringBuilder(); loaderMessages.AppendLine("While trying to load composable parts the follwing loader exceptions were found: "); foreach (var loaderException in typeLoadException.LoaderExceptions) { loaderMessages.AppendLine(loaderException.Message); } throw new Exception(loaderMessages.ToString(), typeLoadException); } // Adding Plugins to Ribbon Collection <RibbonGroup> groupArray = new Collection <RibbonGroup>(); bool groupExists = false; int i; foreach (IDspPlugin1 plugin in this.DspPlugins) { // Check if current group exists. groupExists = false; for (i = 0; i < groupArray.Count; i++) { if (plugin.Group == groupArray[i].Header.ToString()) { groupExists = true; break; } } // Create new Group when current group does not exist. if (!groupExists) { groupArray.Add(new RibbonGroup()); i = groupArray.Count - 1; groupArray[i].Header = plugin.Group; //groupArray[i].IsEnabled = false; PluginTab.Items.Add(groupArray[i]); } RibbonMenuButton rmb = new RibbonMenuButton(); rmb.Label = plugin.Name; rmb.LargeImageSource = plugin.LargeRibbonIcon; rmb.SmallImageSource = plugin.SmallRibbonIcon; rmb.ToolTipImageSource = plugin.LargeRibbonIcon; rmb.ToolTipTitle = plugin.Name; rmb.ToolTipDescription = plugin.Description; rmb.ToolTipFooterTitle = "Copyright"; rmb.ToolTipFooterImageSource = plugin.OrganizationIcon; rmb.ToolTipFooterDescription = plugin.CopyrightInfo; rmb.DataContext = plugin; rmb.IsEnabled = plugin.IsEnable; rmb.PreviewMouseLeftButtonDown += new MouseButtonEventHandler(this.Pluginmenu_MenuItem_Click); groupArray[i].Items.Add(rmb); logger.Debug("Loaded plug-in '" + plugin.Name + "'"); } this.hotkeys = new Hotkeys(this.settings, this.DspPlugins); signalviewercontrol.stackercontrol.DspPlugins = this.DspPlugins; }
private void AggiungiComandiMenu() { var tabFirst = GetMenu().Tabs[0]; var pnl = tabFirst.Pannelli.First(); pnl.Pulsanti.RemoveAll(a => a.Tag == MenuTab.TagAdd || a.Tag == MenuTab.TagRemove || a.Tag == MenuTab.TagCerca || a.Tag == MenuTab.TagCercaClear || a.Tag == MenuTab.TagEdit ); tabFirst.Pannelli.RemoveAt(2); tabFirst.Pannelli.RemoveAt(1); var _ribPannelImmagini = tabFirst.Add("Immagini"); var ribAdd = _ribPannelImmagini.Add("Aggiungi", StrumentiMusicali.Core.Properties.ImageIcons.Add); ribAdd.Click += (a, e) => { try { using (OpenFileDialog res = new OpenFileDialog()) { res.Title = "Seleziona file da importare"; //Filter res.Filter = "File pdf|*.pdf;|Tutti i file|*.*"; res.Multiselect = true; //When the user select the file if (res.ShowDialog() == DialogResult.OK) { var arr = res.FileNames; EventAggregator.Instance().Publish <ImageAddFiles>( new ImageAddFiles(arr.ToList() , this._INSTANCE_KEY)); } } } catch (Exception ex) { ExceptionManager.ManageError(ex); } }; _ribRemove = _ribPannelImmagini.Add( "Rimuovi", StrumentiMusicali.Core.Properties.ImageIcons.Remove ); _ribRemove.Click += (b, e) => { var foto = this.FotoSelezionata(); EventAggregator.Instance().Publish <ImageRemove <PagamentoDocumenti> >( new ImageRemove <PagamentoDocumenti>( new ImmaginiFile <PagamentoDocumenti>( foto.PathFile, foto.FileName, foto), this._INSTANCE_KEY)); }; }
/// <summary> /// Dựng menu ribbon của hệ thống theo user đăng nhập /// </summary> /// <param name="rbMenu">Control Menu ribbon được tham chiếu, xử lý rồi trả về</param> public void KhoiTaoMenu(ref Ribbon rbMenu) { try { string toolTip; ChucNangDto[] ChucNanglst = ClientInformation.ListChucNang.Select(e => e).ToArray(); IQueryable <ChucNangDto> sItem; string pathFolderImages = ApplicationConstant.defaultImageSource; // Lấy danh sách menu theo tên đăng nhập và mã đơn vị var sTab = ChucNanglst.Where(e => e.IDChucNangCha == 0).OrderBy(e => e.STT).ToList(); foreach (var Tab in sTab) { if (Tab.ThuocTinh.SplitByDelimiter("#")[2] == "RibbonApplicationMenu") { // Application menu RibbonApplicationMenu ram = new RibbonApplicationMenu(); ram.Label = Utilities.Common.LLanguage.SearchResourceByKey(Tab.TieuDe); if (!Tab.ThuocTinh.SplitByDelimiter("#")[0].IsNullOrEmptyOrSpace()) { toolTip = Tab.ThuocTinh.SplitByDelimiter("#")[0]; } else { toolTip = Tab.TieuDe; } ram.ToolTip = Utilities.Common.LLanguage.SearchResourceByKey(toolTip); ram.KeyTip = Tab.ThuocTinh.SplitByDelimiter("#")[3]; ram.Uid = Tab.IDChucNang.ToString(); if (!Tab.BieuTuong.IsNullOrEmptyOrSpace()) { try { BitmapImage bmp = new BitmapImage(); if (Tab.ThuocTinh.SplitByDelimiter("#")[1] == "Both") { bmp.BeginInit(); bmp.UriSource = new Uri(pathFolderImages + Tab.BieuTuong.SplitByDelimiter("#")[1], UriKind.RelativeOrAbsolute); bmp.EndInit(); // RibbonMenuItem icon always small ram.SmallImageSource = bmp; } else { // Lagre or Small bmp.BeginInit(); bmp.UriSource = new Uri(pathFolderImages + Tab.BieuTuong, UriKind.RelativeOrAbsolute); bmp.EndInit(); ram.SmallImageSource = bmp; } } catch { } } var sMenu = ChucNanglst.Where(e => e.IDChucNangCha == Tab.IDChucNang).OrderBy(e => e.STT).AsQueryable(); foreach (var Menu in sMenu) { switch (Menu.ThuocTinh.SplitByDelimiter("#")[2]) { case "RibbonApplicationSplitMenuItem": if (Menu.Quyen == 0) { goto case "RibbonApplicationMenuItem"; } var rasmi = new RibbonApplicationSplitMenuItem(); rasmi.Name = "ID" + Menu.IDChucNang.ToString(); rasmi.Header = Utilities.Common.LLanguage.SearchResourceByKey(Menu.TieuDe); if (!Menu.ThuocTinh.SplitByDelimiter("#")[0].IsNullOrEmptyOrSpace()) { toolTip = Menu.ThuocTinh.SplitByDelimiter("#")[0]; } else { toolTip = Menu.TieuDe; } rasmi.ToolTip = Utilities.Common.LLanguage.SearchResourceByKey(toolTip); rasmi.KeyTip = Menu.ThuocTinh.SplitByDelimiter("#")[3]; rasmi.Uid = Menu.IDChucNang.ToString(); if (!Menu.BieuTuong.IsNullOrEmptyOrSpace()) { try { BitmapImage bmp = new BitmapImage(); if (Menu.ThuocTinh.SplitByDelimiter("#")[1] == "Both") { bmp.BeginInit(); bmp.UriSource = new Uri(pathFolderImages + Menu.BieuTuong.SplitByDelimiter("#")[0], UriKind.RelativeOrAbsolute); bmp.EndInit(); // RibbonApplicationSplitMenuItem icon always large rasmi.ImageSource = bmp; bmp = new BitmapImage(); bmp.BeginInit(); bmp.UriSource = new Uri(pathFolderImages + Menu.BieuTuong.SplitByDelimiter("#")[1], UriKind.RelativeOrAbsolute); bmp.EndInit(); // QuickAccessToolBar icon always small rasmi.QuickAccessToolBarImageSource = bmp; } else { // Lagre or Small bmp.BeginInit(); bmp.UriSource = new Uri(pathFolderImages + Menu.BieuTuong, UriKind.RelativeOrAbsolute); bmp.EndInit(); rasmi.ImageSource = bmp; rasmi.QuickAccessToolBarImageSource = bmp; } } catch { } } rasmi.Tag = Menu; //rasmi.IsEnabled = Menu.Quyen > 0; // Items sItem = ChucNanglst.Where(e => e.IDChucNangCha == Menu.IDChucNang).OrderBy(e => e.STT).AsQueryable(); foreach (var Item in sItem) { var item = new RibbonApplicationMenuItem(); item.Name = "ID" + Item.IDChucNang.ToString(); item.Header = Utilities.Common.LLanguage.SearchResourceByKey(Item.TieuDe); if (!Item.ThuocTinh.SplitByDelimiter("#")[0].IsNullOrEmptyOrSpace()) { toolTip = Item.ThuocTinh.SplitByDelimiter("#")[0]; } else { toolTip = Item.TieuDe; } item.ToolTip = Utilities.Common.LLanguage.SearchResourceByKey(toolTip); item.KeyTip = Item.ThuocTinh.SplitByDelimiter("#")[3]; item.Uid = Item.IDChucNang.ToString(); if (!Item.BieuTuong.IsNullOrEmptyOrSpace()) { try { BitmapImage bmp = new BitmapImage(); if (Item.ThuocTinh.SplitByDelimiter("#")[1] == "Both") { bmp.BeginInit(); bmp.UriSource = new Uri(pathFolderImages + Item.BieuTuong.SplitByDelimiter("#")[0], UriKind.RelativeOrAbsolute); bmp.EndInit(); // RibbonApplicationMenuItem icon always large item.ImageSource = bmp; bmp = new BitmapImage(); bmp.BeginInit(); bmp.UriSource = new Uri(pathFolderImages + Item.BieuTuong.SplitByDelimiter("#")[1], UriKind.RelativeOrAbsolute); bmp.EndInit(); // QuickAccessToolBar icon always small item.QuickAccessToolBarImageSource = bmp; } else { // Lagre or Small bmp.BeginInit(); bmp.UriSource = new Uri(pathFolderImages + Item.BieuTuong, UriKind.RelativeOrAbsolute); bmp.EndInit(); item.ImageSource = bmp; item.QuickAccessToolBarImageSource = bmp; } } catch { } } item.Tag = Item; item.IsEnabled = Item.Quyen > 0; rasmi.Items.Add(item); } ram.Items.Add(rasmi); break; case "RibbonApplicationMenuItem": var rami = new RibbonApplicationMenuItem(); rami.Name = "ID" + Menu.IDChucNang.ToString(); rami.Header = Utilities.Common.LLanguage.SearchResourceByKey(Menu.TieuDe); if (!Menu.ThuocTinh.SplitByDelimiter("#")[0].IsNullOrEmptyOrSpace()) { toolTip = Menu.ThuocTinh.SplitByDelimiter("#")[0]; } else { toolTip = Menu.TieuDe; } rami.ToolTip = Utilities.Common.LLanguage.SearchResourceByKey(toolTip); rami.KeyTip = Menu.ThuocTinh.SplitByDelimiter("#")[3]; rami.Uid = Menu.IDChucNang.ToString(); if (!Menu.BieuTuong.IsNullOrEmptyOrSpace()) { try { BitmapImage bmp = new BitmapImage(); if (Menu.ThuocTinh.SplitByDelimiter("#")[1] == "Both") { bmp.BeginInit(); bmp.UriSource = new Uri(pathFolderImages + Menu.BieuTuong.SplitByDelimiter("#")[0], UriKind.RelativeOrAbsolute); bmp.EndInit(); // RibbonApplicationMenuItem icon always large rami.ImageSource = bmp; bmp = new BitmapImage(); bmp.BeginInit(); bmp.UriSource = new Uri(pathFolderImages + Menu.BieuTuong.SplitByDelimiter("#")[1], UriKind.RelativeOrAbsolute); bmp.EndInit(); // QuickAccessToolBar icon always small rami.QuickAccessToolBarImageSource = bmp; } else { // Lagre or Small bmp.BeginInit(); bmp.UriSource = new Uri(pathFolderImages + Menu.BieuTuong, UriKind.RelativeOrAbsolute); bmp.EndInit(); rami.ImageSource = bmp; rami.QuickAccessToolBarImageSource = bmp; } } catch { } } if (!Menu.ChucNang.IsNullOrEmptyOrSpace()) { rami.Tag = Menu; } //rami.IsEnabled = Menu.Quyen > 0; // Items sItem = ChucNanglst.Where(e => e.IDChucNangCha == Menu.IDChucNang).OrderBy(e => e.STT).AsQueryable(); foreach (var Item in sItem) { var item = new RibbonApplicationMenuItem(); item.Name = "ID" + Item.IDChucNang.ToString(); item.Header = Utilities.Common.LLanguage.SearchResourceByKey(Item.TieuDe); if (!Item.ThuocTinh.SplitByDelimiter("#")[0].IsNullOrEmptyOrSpace()) { toolTip = Item.ThuocTinh.SplitByDelimiter("#")[0]; } else { toolTip = Item.TieuDe; } item.ToolTip = Utilities.Common.LLanguage.SearchResourceByKey(toolTip); item.KeyTip = Item.ThuocTinh.SplitByDelimiter("#")[3]; item.Uid = Item.IDChucNang.ToString(); if (!Item.BieuTuong.IsNullOrEmptyOrSpace()) { try { BitmapImage bmp = new BitmapImage(); if (Item.ThuocTinh.SplitByDelimiter("#")[1] == "Both") { bmp.BeginInit(); bmp.UriSource = new Uri(pathFolderImages + Item.BieuTuong.SplitByDelimiter("#")[0], UriKind.RelativeOrAbsolute); bmp.EndInit(); // RibbonApplicationMenuItem icon always large item.ImageSource = bmp; bmp = new BitmapImage(); bmp.BeginInit(); bmp.UriSource = new Uri(pathFolderImages + Item.BieuTuong.SplitByDelimiter("#")[1], UriKind.RelativeOrAbsolute); bmp.EndInit(); // QuickAccessToolBar icon always small item.QuickAccessToolBarImageSource = bmp; } else { // Lagre or Small bmp.BeginInit(); bmp.UriSource = new Uri(pathFolderImages + Item.BieuTuong, UriKind.RelativeOrAbsolute); bmp.EndInit(); item.ImageSource = bmp; item.QuickAccessToolBarImageSource = bmp; } } catch { } } item.Tag = Item; item.IsEnabled = Item.Quyen > 0; rami.Items.Add(item); } ram.Items.Add(rami); break; default: Grid grid; if (ram.FooterPaneContent.IsNullOrEmpty()) { grid = new Grid(); grid.ColumnDefinitions.Add(new ColumnDefinition()); ColumnDefinition cd = new ColumnDefinition(); cd.Width = GridLength.Auto; grid.ColumnDefinitions.Add(cd); ram.FooterPaneContent = grid; } else { grid = (Grid)(ram.FooterPaneContent); } var rb = new RibbonButton(); rb.Name = "ID" + Menu.IDChucNang.ToString(); rb.Label = Utilities.Common.LLanguage.SearchResourceByKey(Menu.TieuDe); if (!Menu.ThuocTinh.SplitByDelimiter("#")[0].IsNullOrEmptyOrSpace()) { toolTip = Menu.ThuocTinh.SplitByDelimiter("#")[0]; } else { toolTip = Menu.TieuDe; } rb.ToolTip = Utilities.Common.LLanguage.SearchResourceByKey(toolTip); rb.KeyTip = Menu.ThuocTinh.SplitByDelimiter("#")[3]; rb.Uid = Menu.IDChucNang.ToString(); if (!Menu.BieuTuong.IsNullOrEmptyOrSpace()) { try { BitmapImage bmp = new BitmapImage(); if (Menu.ThuocTinh.SplitByDelimiter("#")[1] == "Both") { bmp.BeginInit(); bmp.UriSource = new Uri(pathFolderImages + Menu.BieuTuong.SplitByDelimiter("#")[0], UriKind.RelativeOrAbsolute); bmp.EndInit(); rb.LargeImageSource = bmp; bmp = new BitmapImage(); bmp.BeginInit(); bmp.UriSource = new Uri(pathFolderImages + Menu.BieuTuong.SplitByDelimiter("#")[1], UriKind.RelativeOrAbsolute); bmp.EndInit(); rb.SmallImageSource = bmp; } else { // Lagre or Small bmp.BeginInit(); bmp.UriSource = new Uri(pathFolderImages + Menu.BieuTuong, UriKind.RelativeOrAbsolute); bmp.EndInit(); if (Menu.ThuocTinh.SplitByDelimiter("#")[1] == "Large") { rb.LargeImageSource = bmp; } else { rb.SmallImageSource = bmp; } } } catch { } } rb.Tag = Menu; rb.IsEnabled = Menu.Quyen > 0; grid.Children.Add(rb); Grid.SetColumn(rb, 1); break; } } rbMenu.ApplicationMenu = ram; } else { // Tabs RibbonTab tab = new RibbonTab(); Type rthType = new RibbonTabHeader().GetType(); tab.Header = Utilities.Common.LLanguage.SearchResourceByKey(Tab.TieuDe); if (!Tab.ThuocTinh.SplitByDelimiter("#")[0].IsNullOrEmptyOrSpace()) { toolTip = Tab.ThuocTinh.SplitByDelimiter("#")[0]; } else { toolTip = Tab.TieuDe; } tab.ToolTip = Utilities.Common.LLanguage.SearchResourceByKey(toolTip); tab.HeaderStyle = new Style(rthType); tab.HeaderStyle.Setters.Add(new Setter(RibbonWindow.ToolTipProperty, tab.ToolTip)); tab.IsEnabled = Tab.Quyen > 0; tab.Uid = Tab.IDChucNang.ToString(); // Groups var sGroup = ChucNanglst.Where(e => e.IDChucNangCha == Tab.IDChucNang).OrderBy(e => e.STT).AsQueryable(); foreach (var Group in sGroup) { RibbonGroup group = new RibbonGroup(); group.Header = Utilities.Common.LLanguage.SearchResourceByKey(Group.TieuDe); group.IsEnabled = Group.Quyen > 0; // Buttons var sMenu = ChucNanglst.Where(e => e.IDChucNangCha == Group.IDChucNang).OrderBy(e => e.STT).AsQueryable(); foreach (var Menu in sMenu) { switch (Menu.ThuocTinh.SplitByDelimiter("#")[2]) { case "RibbonSplitButton": if (Menu.Quyen == 0) { goto case "RibbonMenuButton"; } var rsb = new RibbonSplitButton(); rsb.Name = "ID" + Menu.IDChucNang.ToString(); rsb.Label = Utilities.Common.LLanguage.SearchResourceByKey(Menu.TieuDe); if (!Menu.ThuocTinh.SplitByDelimiter("#")[0].IsNullOrEmptyOrSpace()) { toolTip = Menu.ThuocTinh.SplitByDelimiter("#")[0]; } else { toolTip = Menu.TieuDe; } rsb.ToolTip = Utilities.Common.LLanguage.SearchResourceByKey(toolTip); rsb.KeyTip = Menu.ThuocTinh.SplitByDelimiter("#")[3]; rsb.Uid = Menu.IDChucNang.ToString(); if (!Menu.BieuTuong.IsNullOrEmptyOrSpace()) { try { BitmapImage bmp = new BitmapImage(); if (Menu.ThuocTinh.SplitByDelimiter("#")[1] == "Both") { bmp.BeginInit(); bmp.UriSource = new Uri(pathFolderImages + Menu.BieuTuong.SplitByDelimiter("#")[0], UriKind.RelativeOrAbsolute); bmp.EndInit(); rsb.LargeImageSource = bmp; bmp = new BitmapImage(); bmp.BeginInit(); bmp.UriSource = new Uri(pathFolderImages + Menu.BieuTuong.SplitByDelimiter("#")[1], UriKind.RelativeOrAbsolute); bmp.EndInit(); rsb.SmallImageSource = bmp; } else { // Lagre or Small bmp.BeginInit(); bmp.UriSource = new Uri(pathFolderImages + Menu.BieuTuong, UriKind.RelativeOrAbsolute); bmp.EndInit(); if (Menu.ThuocTinh.SplitByDelimiter("#")[1] == "Large") { rsb.LargeImageSource = bmp; } else { rsb.SmallImageSource = bmp; } } } catch { } } rsb.Tag = Menu; //rsb.IsEnabled = Menu.Quyen > 0; // Items sItem = ChucNanglst.Where(e => e.IDChucNangCha == Menu.IDChucNang).OrderBy(e => e.STT).AsQueryable(); foreach (var Item in sItem) { var item = new RibbonMenuItem(); item.Name = "ID" + Item.IDChucNang.ToString(); item.Header = Utilities.Common.LLanguage.SearchResourceByKey(Item.TieuDe); if (!Item.ThuocTinh.SplitByDelimiter("#")[0].IsNullOrEmptyOrSpace()) { toolTip = Item.ThuocTinh.SplitByDelimiter("#")[0]; } else { toolTip = Item.TieuDe; } item.ToolTip = Utilities.Common.LLanguage.SearchResourceByKey(toolTip); item.KeyTip = Item.ThuocTinh.SplitByDelimiter("#")[3]; item.Uid = Item.IDChucNang.ToString(); if (!Item.BieuTuong.IsNullOrEmptyOrSpace()) { try { BitmapImage bmp = new BitmapImage(); if (Item.ThuocTinh.SplitByDelimiter("#")[1] == "Both") { bmp.BeginInit(); bmp.UriSource = new Uri(pathFolderImages + Item.BieuTuong.SplitByDelimiter("#")[1], UriKind.RelativeOrAbsolute); bmp.EndInit(); // RibbonMenuItem icon always small item.ImageSource = bmp; // QuickAccessToolBar icon always small item.QuickAccessToolBarImageSource = bmp; } else { // Lagre or Small bmp.BeginInit(); bmp.UriSource = new Uri(pathFolderImages + Item.BieuTuong, UriKind.RelativeOrAbsolute); bmp.EndInit(); item.ImageSource = bmp; item.QuickAccessToolBarImageSource = bmp; } } catch { } } item.Tag = Item; item.IsEnabled = Item.Quyen > 0; rsb.Items.Add(item); } group.Items.Add(rsb); break; case "RibbonMenuButton": var rmb = new RibbonMenuButton(); rmb.Name = "ID" + Menu.IDChucNang.ToString(); rmb.Label = Utilities.Common.LLanguage.SearchResourceByKey(Menu.TieuDe); if (!Menu.ThuocTinh.SplitByDelimiter("#")[0].IsNullOrEmptyOrSpace()) { toolTip = Menu.ThuocTinh.SplitByDelimiter("#")[0]; } else { toolTip = Menu.TieuDe; } rmb.ToolTip = Utilities.Common.LLanguage.SearchResourceByKey(toolTip); rmb.KeyTip = Menu.ThuocTinh.SplitByDelimiter("#")[3]; rmb.Uid = Menu.IDChucNang.ToString(); if (!Menu.BieuTuong.IsNullOrEmptyOrSpace()) { try { BitmapImage bmp = new BitmapImage(); if (Menu.ThuocTinh.SplitByDelimiter("#")[1] == "Both") { bmp.BeginInit(); bmp.UriSource = new Uri(pathFolderImages + Menu.BieuTuong.SplitByDelimiter("#")[0], UriKind.RelativeOrAbsolute); bmp.EndInit(); rmb.LargeImageSource = bmp; bmp = new BitmapImage(); bmp.BeginInit(); bmp.UriSource = new Uri(pathFolderImages + Menu.BieuTuong.SplitByDelimiter("#")[1], UriKind.RelativeOrAbsolute); bmp.EndInit(); rmb.SmallImageSource = bmp; } else { // Lagre or Small bmp.BeginInit(); bmp.UriSource = new Uri(pathFolderImages + Menu.BieuTuong, UriKind.RelativeOrAbsolute); bmp.EndInit(); if (Menu.ThuocTinh.SplitByDelimiter("#")[1] == "Large") { rmb.LargeImageSource = bmp; } else { rmb.SmallImageSource = bmp; } } } catch { } } //rmb.IsEnabled = Menu.Quyen > 0; // Items sItem = ChucNanglst.Where(e => e.IDChucNangCha == Menu.IDChucNang).OrderBy(e => e.STT).AsQueryable(); foreach (var Item in sItem) { var item = new RibbonMenuItem(); item.Name = "ID" + Item.IDChucNang.ToString(); item.Header = Utilities.Common.LLanguage.SearchResourceByKey(Item.TieuDe); if (!Item.ThuocTinh.SplitByDelimiter("#")[0].IsNullOrEmptyOrSpace()) { toolTip = Item.ThuocTinh.SplitByDelimiter("#")[0]; } else { toolTip = Item.TieuDe; } item.ToolTip = Utilities.Common.LLanguage.SearchResourceByKey(toolTip); item.KeyTip = Item.ThuocTinh.SplitByDelimiter("#")[3]; item.Uid = Item.IDChucNang.ToString(); if (!Item.BieuTuong.IsNullOrEmptyOrSpace()) { try { BitmapImage bmp = new BitmapImage(); if (Item.ThuocTinh.SplitByDelimiter("#")[1] == "Both") { bmp.BeginInit(); bmp.UriSource = new Uri(pathFolderImages + Item.BieuTuong.SplitByDelimiter("#")[1], UriKind.RelativeOrAbsolute); bmp.EndInit(); // RibbonMenuItem icon always small item.ImageSource = bmp; // QuickAccessToolBar icon always small item.QuickAccessToolBarImageSource = bmp; } else { // Lagre or Small bmp.BeginInit(); bmp.UriSource = new Uri(pathFolderImages + Item.BieuTuong, UriKind.RelativeOrAbsolute); bmp.EndInit(); item.ImageSource = bmp; item.QuickAccessToolBarImageSource = bmp; } } catch { } } item.Tag = Item; item.IsEnabled = Item.Quyen > 0; rmb.Items.Add(item); } group.Items.Add(rmb); break; default: var rb = new RibbonButton(); rb.Name = "ID" + Menu.IDChucNang.ToString(); rb.Label = Utilities.Common.LLanguage.SearchResourceByKey(Menu.TieuDe); if (!Menu.ThuocTinh.SplitByDelimiter("#")[0].IsNullOrEmptyOrSpace()) { toolTip = Menu.ThuocTinh.SplitByDelimiter("#")[0]; } else { toolTip = Menu.TieuDe; } rb.ToolTip = Utilities.Common.LLanguage.SearchResourceByKey(toolTip); rb.KeyTip = Menu.ThuocTinh.SplitByDelimiter("#")[3]; rb.Uid = Menu.IDChucNang.ToString(); if (!Menu.BieuTuong.IsNullOrEmptyOrSpace()) { try { BitmapImage bmp = new BitmapImage(); if (Menu.ThuocTinh.SplitByDelimiter("#")[1] == "Both") { bmp.BeginInit(); bmp.UriSource = new Uri(pathFolderImages + Menu.BieuTuong.SplitByDelimiter("#")[0], UriKind.RelativeOrAbsolute); bmp.EndInit(); rb.LargeImageSource = bmp; bmp = new BitmapImage(); bmp.BeginInit(); bmp.UriSource = new Uri(pathFolderImages + Menu.BieuTuong.SplitByDelimiter("#")[1], UriKind.RelativeOrAbsolute); bmp.EndInit(); rb.SmallImageSource = bmp; } else { // Lagre or Small bmp.BeginInit(); bmp.UriSource = new Uri(pathFolderImages + Menu.BieuTuong, UriKind.RelativeOrAbsolute); bmp.EndInit(); if (Menu.ThuocTinh.SplitByDelimiter("#")[1] == "Large") { rb.LargeImageSource = bmp; } else { rb.SmallImageSource = bmp; } } } catch (Exception ex) { LLogging.WriteLog(ex.TargetSite.Name, LLogging.LogType.ERR, ex); } } rb.Tag = Menu; rb.IsEnabled = Menu.Quyen > 0; group.Items.Add(rb); break; } } tab.Items.Add(group); } rbMenu.Items.Add(tab); } } } catch (Exception ex) { // Ghi log Exception LLogging.WriteLog(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.ToString(), LLogging.LogType.ERR, ex); } }