Example #1
0
        private void InitializeDropDownButton(RadRibbonDropDownButton dropDownButton)
        {
            var ribbonGroupContext = dropDownButton.DataContext as CreatedRibbonGroup;
            var ribbonItems        = GetAllRibbonItems();

            var contextMenu = new RadContextMenu();

            foreach (var ribbonItem in ribbonItems.
                     Where(p => p.RibbonItemMetaData.GroupGUID == ribbonGroupContext.RibbonGroupMetaData.GUID))
            {
                if (ribbonItem.RibbonItem is IRibbonButtonItem buttonItem)
                {
                    var bitMapImage = !string.IsNullOrEmpty(buttonItem.Icon) ? new BitmapImage(new Uri(buttonItem.Icon, UriKind.RelativeOrAbsolute)) : null;
                    var image       = bitMapImage != null ? new Image {
                        Source = bitMapImage
                    }:null;
                    var header   = LanguageService.FindResourceString(buttonItem.HeaderLanguageKey);
                    var menuItem = new RadMenuItem {
                        Header  = header,
                        Icon    = image,
                        Command = buttonItem.Command
                    };

                    ///设定UI自动化测试相关属性;
                    AutomationProperties.SetAutomationId(menuItem, ribbonItem.RibbonItemMetaData.GUID);
                    AutomationProperties.SetName(menuItem, header);

                    contextMenu.Items.Add(menuItem);
                }
            }

            dropDownButton.DropDownContent = contextMenu;
        }
Example #2
0
        private void InitializeRibbonGroup(RadRibbonGroup ribbonGroupControl)
        {
            var ribbonGroup = ribbonGroupControl.DataContext as CreatedRibbonGroup;

            var allRibbonGroups = GetAllRibbonGroups();
            var allRibbonItems  = GetAllRibbonItems();

            foreach (var innerRibbonGroup in allRibbonGroups.
                     Where(p => p.RibbonGroupMetaData.ParentGUID == ribbonGroup.RibbonGroupMetaData.GUID))
            {
                var icon = innerRibbonGroup.RibbonGroupMetaData.Icon;
                var text = LanguageService.FindResourceString(innerRibbonGroup.RibbonGroupMetaData.HeaderLanguageKey);

                var dropDownButton = new RadRibbonDropDownButton {
                    DataContext = innerRibbonGroup,
                    SmallImage  = !string.IsNullOrEmpty(icon) ?  new BitmapImage(new Uri(icon)):null,
                    Size        = ButtonSize.Large,
                    Text        = text
                };

                ///设定UI自动化测试相关属性;
                AutomationProperties.SetAutomationId(dropDownButton, innerRibbonGroup.RibbonGroupMetaData.GUID);
                AutomationProperties.SetName(dropDownButton, text);

                InitializeDropDownButton(dropDownButton);
                ribbonGroupControl.Items.Add(dropDownButton);
            }

            foreach (var ribbonItem in allRibbonItems.
                     Where(p => p.RibbonItemMetaData.GroupGUID == ribbonGroup.RibbonGroupMetaData.GUID))
            {
                if (ribbonItem.RibbonItem is IRibbonButtonItem buttonItem)
                {
                    var bitmapImage = !string.IsNullOrEmpty(buttonItem.Icon) ? new BitmapImage(new Uri(buttonItem.Icon, UriKind.RelativeOrAbsolute)) : null;
                    var text        = LanguageService.FindResourceString(buttonItem.HeaderLanguageKey);

                    var ribbonButton = new RadRibbonButton {
                        Command    = buttonItem.Command,
                        Text       = text,
                        LargeImage = bitmapImage,
                        SmallImage = bitmapImage,
                        Size       = ButtonSize.Large
                    };


                    ///设定UI自动化测试相关属性;
                    AutomationProperties.SetAutomationId(ribbonButton, ribbonItem.RibbonItemMetaData.GUID ?? string.Empty);
                    AutomationProperties.SetName(ribbonButton, text ?? string.Empty);

                    ribbonGroupControl.Items.Add(ribbonButton);
                }
                else if (ribbonItem.RibbonItem is IRibbonObjectItem objectItem)
                {
                    ribbonGroupControl.Items.Add(objectItem.UIObject);
                }
            }
        }