Id プロパティは XamRibbon 内の RibbonGroup を一意的に識別するために使用されます。これは RibbonGroup が QuickAccessToolbar に追加され、グループを表す QatPlaceholderTool の TargetId として使用される場合に主に必要となります。RibbonGroup を QAT にプログラムで追加したい場合、Ribbon 内のすべての RibbonTabItems ですべての RibbonGroups に一意である文字列にこのプロパティを設定し、ユーザーが QuickAccessToolbar に追加する QatPlaceholderTool の TargetId としてそれを使用する必要があります。
'Add RibbonGroup and set it properties Private Sub addRibbonGroupProperties() If xamRibbon.Tabs.Count < 1 Then Return End If Dim igTabItem As RibbonTabItem = xamRibbon.Tabs(0) 'Create RibbonGroup Dim ribbonGroup As RibbonGroup = getRibbonGroup(igTabItem, "RibbonGroup Members") 'RibbonGroup properties RibbonGroup.SetMaximumSize(ribbonGroup, RibbonToolSizingMode.ImageAndTextLarge) RibbonGroup.SetMinimumSize(ribbonGroup, RibbonToolSizingMode.ImageOnly) ribbonGroup.MaxWidth = 400 ribbonGroup.MinWidth = 200 ribbonGroup.Id = "mRibbonGroup" ribbonGroup.KeyTip = "RK1" ribbonGroup.IsOpen = True ribbonGroup.SmallImage = getImageSource("/images/icons/Ribbon/Paste_32x32.png") 'RibbonGroup events AddHandler ribbonGroup.Closed, AddressOf ribbonGroup_Closed AddHandler ribbonGroup.Opening, AddressOf ribbonGroup_Opening AddHandler ribbonGroup.Opened, AddressOf ribbonGroup_Opened 'add tools to RibbonGroup Dim btnToolAddToQAT As ButtonTool = addButtonToolToRibbonGroup(ribbonGroup, "AddToQAT", "btnAddToQAT", "/images/icons/Ribbon/New_Large.png") Dim btnToolRemoveFromQAT As ButtonTool = addButtonToolToRibbonGroup(ribbonGroup, "RemoveFromQAT", "btnToolRemoveFromQAT", "/images/icons/Ribbon/Open_Large.png") AddHandler btnToolAddToQAT.Click, AddressOf btnToolAddToQAT_Click 'Add DialogBoxLauncherTool ribbonGroup.DialogBoxLauncherTool = btnToolRemoveFromQAT 'Add ToolTip getRibbonScreenTip(btnToolRemoveFromQAT) End Sub Private Function getRibbonGroup(ByVal igTabItem As RibbonTabItem, ByVal ribbonGroupCaption As String) As RibbonGroup Dim ribbonGroup As New RibbonGroup() ribbonGroup.Caption = ribbonGroupCaption Dim toolHorizontalWrapPanel As New ToolHorizontalWrapPanel() ribbonGroup.Items.Add(toolHorizontalWrapPanel) igTabItem.RibbonGroups.Add(ribbonGroup) Return ribbonGroup End Function 'Add ButtonTool to RibbonGroup Private Function addButtonToolToRibbonGroup(ByVal igRibbongroup As RibbonGroup, ByVal caption As String, ByVal tagString As String, ByVal imageUriString As String) As ButtonTool Dim btnTool As ButtonTool = getButtonTool(caption, tagString, imageUriString) igRibbongroup.Items.Add(btnTool) Return btnTool End Function 'get ButtonTool Private Function getButtonTool(ByVal caption As String, ByVal tagString As String, ByVal imageUriString As String) As ButtonTool Dim btnTool As New ButtonTool() btnTool.Caption = caption btnTool.Tag = tagString btnTool.LargeImage = getImageSource(imageUriString) Return btnTool End Function 'Get Image Source Private Function getImageSource(ByVal uriString As String) As BitmapImage Dim bmpImage As New BitmapImage() bmpImage.BeginInit() bmpImage.UriSource = New Uri(uriString, UriKind.RelativeOrAbsolute) bmpImage.EndInit() Return bmpImage End Function
//Add RibbonGroup and set it properties private void addRibbonGroupProperties() { if (xamRibbon.Tabs.Count < 1) { return; } RibbonTabItem igTabItem = xamRibbon.Tabs[0]; //Create RibbonGroup RibbonGroup ribbonGroup = getRibbonGroup(igTabItem, "RibbonGroup Members"); //RibbonGroup properties RibbonGroup.SetMaximumSize(ribbonGroup, RibbonToolSizingMode.ImageAndTextLarge); RibbonGroup.SetMinimumSize(ribbonGroup, RibbonToolSizingMode.ImageOnly); ribbonGroup.MaxWidth = 400; ribbonGroup.MinWidth = 200; ribbonGroup.Id = "mRibbonGroup"; ribbonGroup.KeyTip = "RK1"; ribbonGroup.IsOpen = true; ribbonGroup.SmallImage = getImageSource("/images/icons/Ribbon/Paste_32x32.png"); //RibbonGroup events ribbonGroup.Closed += new RoutedEventHandler(ribbonGroup_Closed); ribbonGroup.Opening += new EventHandler<Infragistics.Windows.Ribbon.Events.RibbonGroupOpeningEventArgs>(ribbonGroup_Opening); ribbonGroup.Opened += new RoutedEventHandler(ribbonGroup_Opened); //add tools to RibbonGroup ButtonTool btnToolAddToQAT = addButtonToolToRibbonGroup(ribbonGroup, "AddToQAT", "btnAddToQAT", "/images/icons/Ribbon/New_Large.png"); ButtonTool btnToolRemoveFromQAT = addButtonToolToRibbonGroup(ribbonGroup, "RemoveFromQAT", "btnToolRemoveFromQAT", "/images/icons/Ribbon/Open_Large.png"); btnToolAddToQAT.Click += new RoutedEventHandler(btnToolAddToQAT_Click); //Add DialogBoxLauncherTool ribbonGroup.DialogBoxLauncherTool = btnToolRemoveFromQAT; //Add ToolTip getRibbonScreenTip(btnToolRemoveFromQAT); } private RibbonGroup getRibbonGroup(RibbonTabItem igTabItem, string ribbonGroupCaption) { RibbonGroup ribbonGroup = new RibbonGroup(); ribbonGroup.Caption = ribbonGroupCaption; ToolHorizontalWrapPanel toolHorizontalWrapPanel = new ToolHorizontalWrapPanel(); ribbonGroup.Items.Add(toolHorizontalWrapPanel); igTabItem.RibbonGroups.Add(ribbonGroup); return ribbonGroup; } //Add ButtonTool to RibbonGroup private ButtonTool addButtonToolToRibbonGroup(RibbonGroup igRibbongroup, string caption, string tagString, string imageUriString) { ButtonTool btnTool = getButtonTool(caption, tagString, imageUriString); igRibbongroup.Items.Add(btnTool); return btnTool; } //get ButtonTool private ButtonTool getButtonTool(string caption, string tagString, string imageUriString) { ButtonTool btnTool = new ButtonTool(); btnTool.Caption = caption; btnTool.Tag = tagString; btnTool.LargeImage = getImageSource(imageUriString); return btnTool; } //Get Image Source private BitmapImage getImageSource(string uriString) { BitmapImage bmpImage = new BitmapImage(); bmpImage.BeginInit(); bmpImage.UriSource = new Uri(uriString, UriKind.RelativeOrAbsolute); bmpImage.EndInit(); return bmpImage; }