Skip to main content

BarButtonGroup Class

Represents a group of items.

Namespace: DevExpress.Xpf.Ribbon

Assembly: DevExpress.Xpf.Ribbon.v24.2.dll

NuGet Package: DevExpress.Wpf.Ribbon

Declaration

public class BarButtonGroup :
    BarItem,
    ILinksHolder,
    IMultipleElementRegistratorSupport,
    IBarNameScopeSupport,
    IInputElement,
    ILogicalChildrenContainer,
    IInplaceLinksHolder

The following members return BarButtonGroup objects:

Remarks

Bar items and/or bar item links can be combined into a BarButtonGroup. These elements are displayed as a whole within a RibbonControl. Individual items never wrap when a Ribbon control is resized. For items within a BarButtonGroup, large images (BarItem.LargeGlyph) are not supported. Adjacent button groups are arranged within a Ribbon Control in a different way than regular bar items. They are arranged across then down, wrapping automatically to fill the available space optimally, without gaps.

BarItemTypes-BarButtonGroup

To add elements to a button group, use the BarButtonGroup.Items collection.

<dxr:BarButtonGroup>
    <dxb:BarButtonItem Content="Bold" Glyph="{dx:DXImage Image=Bold_16x16.png}"/>
    <dxb:BarButtonItem Content="Italic" Glyph="{dx:DXImage Image=Italic_16x16.png}"/>
    <dxb:BarButtonItem Content="Underline" Glyph="{dx:DXImage Image=Underline_16x16.png}"/>
</dxr:BarButtonGroup>

Bar button groups can only be displayed within a Ribbon Control.

Example

This example shows how to define a BarButtonGroup in XAML.

A BarButtonGroup, residing in a Format page group, combines three check buttons (Bold, Italic and Underline).

RibbonControl_Ex

View Example

<dxr:RibbonDefaultPageCategory>
    <dxr:RibbonPage Caption="Home">
        <dxr:RibbonPageGroup Name="pgFile" Caption="File" 
                             ShowCaptionButton="True"
                             CaptionButtonClick="groupFile_CaptionButtonClick"
                             >
            <dxb:BarButtonItem Name="bNew" Content="New" 
                   Glyph="{dxc:DXImage Image=New_16x16.png}" 
                   LargeGlyph="{dxc:DXImage Image=New_32x32.png}"  
                   Description="Creates a new document."
                   Hint="Creates a blank document."
                   RibbonStyle="Large"/>

            <dxb:BarButtonItem Name="bOpen" Content="Open" 
                   Glyph="{dxc:DXImage Image=Open_16x16.png}" 
                   LargeGlyph="{dxc:DXImage Image=Open_32x32.png}" 
                   Description="Opens a file."
                   Hint="Opens a file."
                   RibbonStyle="SmallWithText"/>

            <dxb:BarButtonItem Name="bClose" Content="Close" 
                   Glyph="{dxc:DXImage Image=Close_16x16.png}" 
                   LargeGlyph="{dxc:DXImage Image=Close_32x32.png}"
                   Hint="Closes the current document"
                   RibbonStyle="SmallWithText"/>

            <dxb:BarButtonItem Name="bPrint" Content="Print" 
                   Glyph="{dxc:DXImage Image=Print_16x16.png}" 
                   LargeGlyph="{dxc:DXImage Image=Print_32x32.png}"  
                   Description="Prints the document."
                   Hint="Prints the document." 
                   RibbonStyle="SmallWithText"/>

            <dxb:BarItemLinkSeparator/>

            <dxb:BarSplitButtonItem Name="sbSave" Content="Save" 
                        Glyph="{dxc:DXImage Image=Save_16x16.png}" 
                        LargeGlyph="{dxc:DXImage Image=Save_32x32.png}" 
                        RibbonStyle="Large">
                <dxb:BarSplitButtonItem.PopupControl >
                    <dxb:PopupMenu>
                        <dxb:BarButtonItem Name="bSave" Content="Save" 
                            Glyph="{dxc:DXImage Image=Save_16x16.png}" 
                            LargeGlyph="{dxc:DXImage Image=Save_32x32.png}"  
                            Description="Saves the document."
                            Hint="Saves the document."/>
                        <dxb:BarButtonItem Name="bSaveAs" Content="Save As..." 
                            Glyph="{dxc:DXImage Image=SaveDialog_16x16.png}" 
                            LargeGlyph="{dxc:DXImage Image=SaveDialog_32x32.png}" 
                            Description="Save Document As..."
                            Hint="Save Document As..."/>
                    </dxb:PopupMenu>
                </dxb:BarSplitButtonItem.PopupControl>
            </dxb:BarSplitButtonItem>


        </dxr:RibbonPageGroup>
        <dxr:RibbonPageGroup Caption="Edit" ShowCaptionButton="True" CaptionButtonClick="groupEdit_CaptionButtonClick">
            <dxb:BarButtonItem Name="bPaste" Content="Paste" 
                   Glyph="{dxc:DXImage Image=Paste_16x16.png}" 
                   LargeGlyph="{dxc:DXImage Image=Paste_32x32.png}" RibbonStyle="Large"/>

            <dxb:BarButtonItem Name="bCut" Content="Cut" 
                   Glyph="{dxc:DXImage Image=Cut_16x16.png}"  RibbonStyle="SmallWithText"/>
            <dxb:BarButtonItem Name="bCopy" Content="Copy" 
                   Glyph="{dxc:DXImage Image=Copy_16x16.png}"  RibbonStyle="SmallWithText"/>
            <dxb:BarButtonItem Name="bClear" Content="Clear" 
                   Glyph="{dxc:DXImage Image=Delete_16x16.png}"  RibbonStyle="SmallWithText"/>

        </dxr:RibbonPageGroup>

        <dxr:RibbonPageGroup Caption="Format" ShowCaptionButton="False">
            <!--region #BarButtonGroup-->
            <dxr:BarButtonGroup Name="bgFontShape" RibbonStyle="SmallWithoutText">
                <dxb:BarCheckItem Name="bBold" Content="Bold" 
                  Glyph="{dxc:DXImage Image=Bold_16x16.png}" />
                <dxb:BarCheckItem Name="bItalic" Content="Italic" 
                  Glyph="{dxc:DXImage Image=Italic_16x16.png}" />
                <dxb:BarCheckItem Name="bUnderline" Content="Underline" 
                  Glyph="{dxc:DXImage Image=Underline_16x16.png}" />
            </dxr:BarButtonGroup>
            <!--endregion #BarButtonGroup-->

        </dxr:RibbonPageGroup>
    </dxr:RibbonPage>
</dxr:RibbonDefaultPageCategory>

The following code snippets (auto-collected from DevExpress Examples) contain references to the BarButtonGroup class.

Note

The algorithm used to collect these code examples remains a work in progress. Accordingly, the links and snippets below may produce inaccurate results. If you encounter an issue with code examples below, please use the feedback form on this page to report the issue.

See Also