バージョン

RibbonGroup クラス

XamRibbon コントロールの RibbonTabItem 内のツールの論理的および視覚的グループ化を表します。
シンタックス
'宣言
 
Public Class RibbonGroup 
   Inherits System.Windows.Controls.ItemsControl
   Implements IKeyTipIKeyTipContainer 
解説

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;
}
<igRibbon:RibbonGroup Name="VariantsGroup1" Caption="VariantsGroup1" 
    
MaxWidth="600" MaxHeight="150" MinWidth="150" MinHeight="100"
    
KeyTip="RG1" Id="R1" SmallImage="Images\icons\Ribbon\LeftAlign.png"
    
igRibbon:RibbonGroup.MaximumSize="ImageAndTextLarge" 
    
igRibbon:RibbonGroup.MinimumSize="ImageOnly" >
    
<!--GroupVariants-->
    
<igRibbon:RibbonGroup.Variants>
        
<igRibbon:GroupVariant Priority="5" ResizeAction="HideGalleryPreview" />
        
<igRibbon:GroupVariant Priority="10" ResizeAction="ReduceGalleryPreviewItems" />
        
<igRibbon:GroupVariant Priority="30" ResizeAction="ReduceImageAndTextLargeTools" />
        
<igRibbon:GroupVariant Priority="20" ResizeAction="ReduceImageAndTextNormalTools" />
        
<igRibbon:GroupVariant Priority="35" ResizeAction="ReduceHorizontalWrapRowCount" />
        
<igRibbon:GroupVariant Priority="40" ResizeAction="CollapseRibbonGroup" />
    
</igRibbon:RibbonGroup.Variants>
    
<!--GroupVariants-end-->
    
<!--RibbonGroup.Items-->
    
<igRibbon:MenuTool igRibbon:RibbonGroup.MaximumSize="ImageAndTextLarge" ButtonType="Segmented"  
              
Caption="MenuTool Mixed" 
              
LargeImage="Images\icons\Ribbon\Paste_32x32.png" SmallImage="Images\icons\Ribbon\Paste_16x16.png" 
              
HorizontalAlignment="Left" >
        
<igRibbon:CheckBoxTool Caption="XamRibbon CheckBox Tool" 
            
SmallImage="Images\icons\Ribbon\BlueQuestionMark.png"/>
        
<igRibbon:ButtonTool  Caption="Button in MenuTool1" 
            
LargeImage="Images\icons\Ribbon\32x32.png" SmallImage="Images\icons\Ribbon\16x16.png"/>
        
<igRibbon:ButtonTool  Caption="Button in MenuTool2" 
            
LargeImage="Images\icons\Ribbon\Paste_32x32.png" SmallImage="Images\icons\Ribbon\Paste_16x16.png"/>
    
</igRibbon:MenuTool>

    
<igRibbon:MenuTool igRibbon:RibbonGroup.MaximumSize="ImageAndTextNormal" ButtonType="SegmentedState"  
              
Caption="MenuTool Min3" 
              
LargeImage="Images\icons\Ribbon\Paste_32x32.png" SmallImage="Images\icons\Ribbon\Paste_16x16.png" 
              
HorizontalAlignment="Left" >
        
<igRibbon:CheckBoxTool Caption="XamRibbon CheckBox Tool" 
            
SmallImage="Images\icons\Ribbon\EditUndo.png"/>
        
<igRibbon:ButtonTool Caption="Button in MenuTool1" 
            
LargeImage="Images\icons\Ribbon\32x32.png" SmallImage="Images\icons\Ribbon\16x16.png"/>
        
<igRibbon:ButtonTool Caption="Button in MenuTool2" 
            
LargeImage="Images\icons\Ribbon\Paste_32x32.png" SmallImage="Images\icons\Ribbon\Paste_16x16.png"/>
    
</igRibbon:MenuTool>
    
<!--RibbonGroup.Items-end-->
</igRibbon:RibbonGroup>
参照