Skip to main content

GroupBox Class

Represents a control container with a GroupBox-style title, capable of displaying a single child.

Namespace: DevExpress.Xpf.LayoutControl

Assembly: DevExpress.Xpf.LayoutControl.v14.2.dll

#Declaration

[TemplatePart(Name = "BorderElement", Type = typeof(Border))]
[TemplatePart(Name = "MinimizeElement", Type = typeof(GroupBoxButton))]
[TemplateVisualState(Name = "MinimizedLayout", GroupName = "LayoutStates")]
[TemplatePart(Name = "MaximizeElement", Type = typeof(GroupBoxButton))]
[TemplateVisualState(Name = "NormalLayout", GroupName = "LayoutStates")]
[TemplateVisualState(Name = "MaximizedLayout", GroupName = "LayoutStates")]
[DXToolboxBrowsable(DXToolboxItemKind.Free)]
[ToolboxTabName("Navigation & Layout")]
public class GroupBox :
    MaximizableHeaderedContentControlBase,
    IGroupBox,
    IControl,
    IMaximizableElement

#Remarks

A GroupBox can contain a single child item. It supports a GroupBox-style title, as shown in the image below:

GroupBox

To specify the text to be displayed in the title, use the inherited Header property. A DataTemplate for the title can be specified via the inherited HeaderTemplate property. You can hide the title by setting the GroupBox.TitleVisibility property to Collapsed. In this instance, the GroupBox will be displayed only with a border:

GroupBox_NoTitle

The GroupBox supports the following elements in its header:

#Examples

The following example creates a FlowLayoutControl with four GroupBox objects as children. For the GroupBox objects, the Maximize and Minimize elements are enabled via the GroupBox.MaximizeElementVisibility and GroupBox.MinimizeElementVisibility properties.

The first group is maximized in XAML by setting the FlowLayoutControl.MaximizedElement property.

The following image shows the result:

FlowLayoutControl_GroupBox_Ex

<UserControl
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:lc="http://schemas.devexpress.com/winfx/2008/xaml/layoutcontrol"
    x:Class="FlowLayoutControl1.MainPage"
    >
    <UserControl.Resources>
        <Style x:Key="myGroupBoxStyle" TargetType="lc:GroupBox">
            <Setter Property="MaximizeElementVisibility" Value="Visible"/>
            <Setter Property="MinimizeElementVisibility" Value="Visible"/>
            <Setter Property="Width" Value="150"/>
        </Style>
    </UserControl.Resources>

    <Grid x:Name="LayoutRoot" Background="White">
        <lc:FlowLayoutControl Orientation="Vertical" Background="#FFFAFAFA" BreakFlowToFit="True" 
            MaximizedElementPosition="Right" MaximizedElement="{Binding ElementName=groupBox1}">
            <lc:GroupBox x:Name="groupBox1" Header="Group 1" Style="{StaticResource  myGroupBoxStyle}">
                <TextBlock  TextWrapping="Wrap" Text="Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed molestie porttitor congue..."/>
            </lc:GroupBox>
            <lc:GroupBox  Header="Group 2" Style="{StaticResource  myGroupBoxStyle}">
                <TextBlock  TextWrapping="Wrap" Text="Ut sagittis urna et lorem..."/>
            </lc:GroupBox>
            <lc:GroupBox  Header="Group 3" Style="{StaticResource  myGroupBoxStyle}">
                <TextBlock  TextWrapping="Wrap" Text="Nunc diam justo, tempus sit amet..."/>
            </lc:GroupBox>
            <lc:GroupBox  Header="Group 4" Style="{StaticResource  myGroupBoxStyle}">
                <TextBlock  TextWrapping="Wrap" Text="Quisque iaculis, risus ac bibendum ornare..."/>
            </lc:GroupBox>
        </lc:FlowLayoutControl>
    </Grid>
</UserControl>

#Inheritance

Object
DispatcherObject
DependencyObject
Visual
UIElement
FrameworkElement
Control
DevExpress.Xpf.Core.ControlBase
DevExpress.Xpf.Core.ContentControlBase
DevExpress.Xpf.Core.HeaderedContentControlBase
DevExpress.Xpf.LayoutControl.MaximizableHeaderedContentControlBase
GroupBox
See Also