'宣言 Public Class RibbonGroup Inherits System.Windows.Controls.ItemsControl Implements IKeyTip, IKeyTipContainer
public class RibbonGroup : System.Windows.Controls.ItemsControl, IKeyTip, IKeyTipContainer
RibbonGroup の System.Windows.Controls.ItemsControl.Items プロパティは、FrameworkElement 派生ツールまたは ToolHorizontalWrapPanel および ToolVerticalWrapPanel を含む複数の RibbonGroup レイアウト パネルを含むために設計されています。
RibbonGroup は、ユーザーがコンテンツのサイズ変更の方法を制御することができる複数のプロパティを公開します。Variants プロパティは、グループに許可されたサイズ変更操作のタイプ、そして所有する RibbonTabItem の他のグループにもとづいてサイズ変更すべき時期を決定する GroupVariant インスタンスのリストを提供するために使用されます。グループは、含まれるツールの最大および最小サイズをそれぞれ制御するために使用できる 2 つの添付プロパティ(MaximumSizeProperty および MinimumSizeProperty)も公開します。
DialogBoxLauncherTool プロパティは、Caption に隣接するグループのキャプション領域に表示される ButtonTool インスタンスを提供するために使用されます。
'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; }