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 を HorizontalAlignment および VerticalAlignment に割り当てて、 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 プロパティをオブジェクトに対して明示的に設定または計算する場合、これらの測定値は一般的なレイアウト ロジックにとってより重要であり、HorizontalAlignment を Stretch に設定した場合の効果を取り消すことができます。 レイアウト制約プロパティ ( MaxWidth など) は、 Stretch レイアウトの状況のレイアウトサイズの最大値または最小サイズにも影響します。 ストレッチ は既定値であるため、明示的な測定がない場合にアダプティブ レイアウト手法を使用する方が簡単です。 ただし、[高さ][幅] または [クリッピング] がある場合、レイアウトは、値が VerticalAlignment場合は Top、通常は HorizontalAlignment の場合は Left (から左のカルチャ情報の場合は Right、または FlowDirection の明示的な値) の場合と同様に機能します。 詳しくは、「配置、余白、およびパディング」をご覧ください。

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

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

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

適用対象

こちらもご覧ください