FrameworkElement.HorizontalAlignment プロパティ

定義

パネルや項目コントロールなど、レイアウトの親で構成されている場合に FrameworkElement に適用される水平方向の配置特性を取得または設定します。

public:
 property HorizontalAlignment HorizontalAlignment { HorizontalAlignment get(); void set(HorizontalAlignment value); };
HorizontalAlignment HorizontalAlignment();

void HorizontalAlignment(HorizontalAlignment value);
public HorizontalAlignment HorizontalAlignment { get; set; }
var horizontalAlignment = frameworkElement.horizontalAlignment;
frameworkElement.horizontalAlignment = horizontalAlignment;
Public Property HorizontalAlignment As HorizontalAlignment
<frameworkElement HorizontalAlignment="horizontalAlignmentMemberName"/>

プロパティ値

列挙体の値としての水平方向の配置設定。 既定値は Stretch です。

この例では、 Center 値を HorizontalAlignmentVerticalAlignment に割り当てて、 TextBlock 要素を Grid セルの中央に配置します。

<Grid x:Name="LayoutRoot" Background="Coral" Width="300" Height="100">
    <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>

注釈

配置プロパティは、アダプティブ レイアウト コンテナーに目的のレイアウトをヒントすることを目的としています。 これらは通常 、FrameworkElement の子に設定され、別の FrameworkElement コンテナーの親 (通常 は ContentControl 派生クラスまたは Panel 派生クラス、または発表者) によって解釈されます。 子要素に配置プロパティを設定しても、何も起こる保証はありません。動作は、レイアウト構成と関係する親要素によって異なります。

Height プロパティと Width プロパティがオブジェクトに対して明示的に設定または計算される場合、これらの測定値は一般的なレイアウト ロジックにとってより重要であり、HorizontalAlignmentStretch に設定した場合の影響を取り消すことができます。 レイアウト制約プロパティ ( MaxWidth など) は、 Stretch レイアウト状況の最大レイアウト サイズまたは最小レイアウト サイズにも影響します。 Stretch は既定値であるため、明示的な測定がない場合にアダプティブ レイアウト手法を簡単に使用できます。 ただし、HeightWidth またはクリッピングがある場合、レイアウトは、値が VerticalAlignmentTop(通常はHorizontalAlignment用にLeft(右から左へのカルチャ情報または明示的な FlowDirection 値の場合はRight)のように機能します。 詳細については、「 配置、余白、パディング」を参照してください。

キャンバスは絶対配置に基づいているため、レイアウトを作成するときにHorizontalAlignmentは使用されません。 一般に、 HorizontalAlignment の値は、1 つ以上の FrameworkElement オブジェクトを子コンテンツとして持つことが可能な任意のオブジェクトによって異なる方法で扱われる可能性があります。 このような親オブジェクトはそれぞれ、独自のレイアウト ロジックを持つことができます。

各 XAML UI 要素は、暗黙的な スタイルのスタイル セッターに基づいて、このプロパティを異なる方法で適用できます。 各 UI 要素の HorizontalAlignment の明らかな "既定値" は異なる場合があります。 たとえば、 Button コントロールは値 Leftで始まります。 UI 要素がコントロールの場合、 HorizontalAlignment 値がコントロールのビジュアル テンプレートにも影響する可能性があります。

コンテンツ コントロールでは、コントロール テンプレートでは、多くの場合、{TemplateBinding} マークアップ拡張式を使用して、発表者やコンテンツ領域として使用される要素など、テンプレート内の一部の要素のHorizontalAlignment プロパティに HorizontalContentAlignment プロパティをバインドします。

適用対象

こちらもご覧ください