web-dev-qa-db-ja.com

WPFのHorizo​​ntalAlignmentとHorizo​​ntalContentAlignmentの違いは何ですか?

違いは何ですか:

  • HorizontalAlignment="Stretch"
  • HorizontalContentAlignment="Stretch"

wPFのテキストボックスにありますか?

サンプル例:

<TextBox HorizontalAlignment="Stretch"
            HorizontalContentAlignment="Stretch"
            Height="100"
            TextWrapping="Wrap"
            AcceptsReturn="True"
         ></TextBox>
24
Dotnet

HorizontalAlignmentおよびVerticalAlignmentは、親コントロールに対するコントロール自体の配置を決定します。

HorizontalContentAlignmentおよびVerticalContentAlignmentは、コントロールに対するコントロールのコンテンツの配置を決定します。

たとえば、一般的なボタンコントロールについて考えてみます。

<Button x:Name="aButton" Width="50" Height="25" />

ここでは、どういうわけか、このコントロールがその親コン​​トロール内でどのように配置されるかを指定する必要があります。適切な親コントロールは、StackPanel、Grid、WrapPanelなどです。

Horizontal-とVerticalAlignmentの両方について、オプションLeftRightCenter、およびStretchから選択できます。最初の3つのオプションはボタンの幅と高さを尊重しますが、最後のオプションは設定された幅または高さを無視して、指定された方向にボタンを引き伸ばそうとします。

コード

<StackPanel Orientation="Horizontal">
    <Button x:Name="aButton" Width="50" Height="25" HorizontalAlignment="Right" />
</StackPanel>

たとえば、ボタンをStackPanel内に配置し、左側の内側に配置します。

HorizontalContentAlignmentおよびVerticalContentAlignmentは、コントロールのコンテンツを調整します。コンテンツは特別なUIControlであり、ContentControlのControlTemplateを調べることで簡単に利用できるコントロールに組み込まれています。特に、ContenControlsについて話していることに注意してください。これは、オブジェクトを1つだけ「運び」、そのコンテンツを表示することができるコンテナとして機能します。

したがって、HorizontalContentAlignmentVerticalContentAlignmentは、コンテナに対するこのコンテンツの配置を決定しています。最初に作成されたボタンの場合、ボタンのコンテンツはそのキャプションであり、問​​題の2つのプロパティを使用して、このキャプションをボタンの境界線の内側に配置します。これも、左、右、中央、ストレッチのいずれかです。

28
marc wellman

HorizontalAlignmentは、テキストボックスをそれを含む親に対して整列させますが、HorizontalContentAlignmentは、テキストボックスのテキストをそれ自体に対して整列させます。

9
Rohit Vats

Horizo​​ntalContentAlignmentおよびVerticalContentAlignmentは、これらをコンテンツに適用するコンテンツコントロールで使用されます。たとえば、次のコードでは、コンテンツコントロールボタンはそのコンテンツ(この場合は文字列であり、任意のオブジェクトにすることができます)を中央に揃えます。

Horizo​​ntalAlignmentとVerticalAlignmentは、これらがPanel内にある場合、子要素で使用されます。 Panelは、子要素のこれらのプロパティに基づいて子を配置します。次のコードでは、パネル(StackPanel)がその子(ボタン)を右に揃えます。

<StackPanel>
    <Button Content="OK" 
    HorizontalContentAlignment="Center" VerticalContentAlignment="Center" 
    HorizontalAlignment="Right" VerticalAlignment="Top" />
</StackPanel>
0
Faqir Aamir