Skip to main content

How to: Change styles of labels for individual or all layout items

  • 2 minutes to read

The following code shows how to change the styles of labels for individual layout items, or all of them. The style is changed via the LayoutItem.LabelStyle property. Styles of layout items’ labels can be customized via the LayoutItem.LabelStyle property. This example demonstrates two approaches to changing the LabelStyle property:

  • for all layout items belonging to a container - via the container’s LayoutGroup.ItemStyle property. In this example, this style specifies the blue foreground color for labels
  • for individual layout items - directly via their LayoutItem.LabelStyle properties. In the example, this style, applied to the first layout item (Model), paints the item’s label in red.

The following image shows the result:

LabelStyle_Ex

<Window 
    x:Class="LabelStyle.MainWindow" 
    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" 
    Title="MainWindow" Height="350" Width="525">

    <Window.Resources>
        <!--The default style for layout items: labels are painted in blue-->
        <Style x:Key="DefaultLayoutItemStyle" TargetType="lc:LayoutItem">
            <Setter Property="LabelStyle">
                <Setter.Value>
                    <Style TargetType="lc:LayoutItemLabel">
                        <Setter Property="Foreground" Value="#FF0000FF" />
                    </Style>
                </Setter.Value>
            </Setter>
            <Setter Property="ElementSpace" Value="8" />
        </Style>
        <!--A custom style to paint labels in red-->
        <Style x:Key="MyLabelStyle" TargetType="lc:LayoutItemLabel">
            <Setter Property="Foreground" Value="#FFFF0000" />
        </Style>
    </Window.Resources>

    <!--Apply the default style to layout items-->
    <lc:LayoutControl x:Name="LayoutRoot" ItemStyle="{StaticResource DefaultLayoutItemStyle}">

        <!--Apply the custom style to the first layout item-->
        <lc:LayoutGroup Header="Group 1" View="GroupBox" Orientation="Vertical">
            <lc:LayoutItem Label="Model:" LabelStyle="{StaticResource MyLabelStyle}">
                <TextBlock Text="530i" />
            </lc:LayoutItem>
            <lc:LayoutItem Label="HP:">
                <TextBlock Text="225" />
            </lc:LayoutItem>
            <lc:LayoutItem Label="# of Gears:">
                <TextBlock Text="5" />
            </lc:LayoutItem>
        </lc:LayoutGroup>

    </lc:LayoutControl>

</Window>