有什么区别:
HorizontalAlignment="Stretch"
HorizontalContentAlignment="Stretch"
在WPF的文本框中?
示例示例:
<TextBox HorizontalAlignment="Stretch"
HorizontalContentAlignment="Stretch"
Height="100"
TextWrapping="Wrap"
AcceptsReturn="True"
></TextBox>
答案 0 :(得分:27)
HorizontalAlignment
和VerticalAlignment
确定控件本身与其父控件的对齐方式。
HorizontalContentAlignment
和VerticalContentAlignment
确定控件内容与控件的对齐方式。
例如,考虑一个常见的Button控件
<Button x:Name="aButton" Width="50" Height="25" />
在这里,您必须指定此控件如何在其父控件中对齐。合适的父控件可以是StackPanel,Grid,WrapPanel等。
对于Horizontal
- 和VerticalAlignment
,您可以在选项Left
,Right
,Center
和Stretch
之间进行选择。前三个选项遵循按钮宽度和高度,而最后一个选项尝试将按钮拉伸到指定的方向,忽略设置的宽度或高度:
代码
<StackPanel Orientation="Horizontal">
<Button x:Name="aButton" Width="50" Height="25" HorizontalAlignment="Right" />
</StackPanel>
例如,将Button放在StackPanel中并将其对齐在左侧。
HorizontalContentAlignment
和VerticalContentAlignment
对齐控件的内容。内容是特殊的UIControl,它构建在控件中,您可以通过查看ContentControl的ControlTemplate来简单地利用它。请注意,我们特别谈论ContenControls,它充当一个容器,能够将一个对象“携带”在内部并显示 - 其内容。
因此HorizontalContentAlignment
和VerticalContentAlignment
正在确定此内容与其容器的对齐方式。在最初创建按钮的情况下,按钮内容是其标题,并且有两个属性,您将在Buttons边框内对齐此标题,这两个标题之一也是其中之一:Left,Right,Center,Stretch。
答案 1 :(得分:9)
HorizontalAlignment
会将您的文本框与其包含的父级对齐,而HorizontalContentAlignment
会将文本框的文本与其自身对齐。
答案 2 :(得分:0)
HorizontalContentAlignment和VerticalContentAlignment与内容控件一起使用,后者将这些应用于其内容。例如,在以下代码中,内容控制按钮将其内容(在本例中为字符串,可以是任意对象)与中心对齐。
HorizontalAlignment和VerticalAlignment与子元素一起使用,当子元素位于Panel中时。小组将根据子元素的这些属性安排其子女。 在下面的代码中,Panel(StackPanel)将其子(Button)对齐。
<StackPanel>
<Button Content="OK"
HorizontalContentAlignment="Center" VerticalContentAlignment="Center"
HorizontalAlignment="Right" VerticalAlignment="Top" />
</StackPanel>