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; }
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); } } }