FrameworkElement.HorizontalAlignment Property

July 28, 2014

Gets or sets the horizontal alignment characteristics that are applied to a FrameworkElement when it is composed in a layout parent, such as a panel or items control.

Namespace:  System.Windows
Assembly:  System.Windows (in System.Windows.dll)
XMLNS for XAML: Not mapped to an xmlns.

public HorizontalAlignment HorizontalAlignment { get; set; }
<frameworkElement HorizontalAlignment="horizontalAlignmentValue"/>

XAML Values

horizontalAlignmentValue

A constant name from the HorizontalAlignment enumeration, for example Left.

Property Value

Type: System.Windows.HorizontalAlignment
A horizontal alignment setting, as a value of the enumeration. The default is Stretch.

Dependency property identifier field: HorizontalAlignmentProperty

When the Height and Width properties are explicitly set on an object, these measurements take precedent during layout and can cancel the typical effects of setting HorizontalAlignment to Stretch.

Canvas does not use HorizontalAlignment when composing layout, because Canvas is based on absolute positioning. In general, the value of HorizontalAlignment is potentially treated differently by any given object that is capable of having one or more FrameworkElement objects as child content.

In the following example, the value Center is assigned to HorizontalAlignment and VerticalAlignment to position the TextBlock elements in the center of the Grid cells.


    <Grid x:Name="LayoutRoot" Background="Coral" Width="300" Height="100" ShowGridLines="True">
    <Grid.ColumnDefinitions>
        <ColumnDefinition />
        <ColumnDefinition />
    </Grid.ColumnDefinitions>
    <Grid.RowDefinitions>
        <RowDefinition />
        <RowDefinition />
    </Grid.RowDefinitions>
    <TextBlock Grid.Column="0" Grid.Row="0" Text="First Name" HorizontalAlignment="Center" VerticalAlignment="Center" />
    <TextBlock Grid.Column="0" Grid.Row="1" Text="Last Name" HorizontalAlignment="Center" VerticalAlignment="Center" />
    <TextBox Grid.Column="1" Grid.Row="0" />
    <TextBox Grid.Column="1" Grid.Row="1" />

</Grid>


The previous example produces output that resembles the following illustration.

margin and alignment example

Windows Phone OS

Supported in: 8.1, 8.0, 7.1, 7.0

Windows Phone

Show:
© 2014 Microsoft