首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >HorizontalAlignment和HorizontalContentAlignment在WPF中有什么区别?

HorizontalAlignment和HorizontalContentAlignment在WPF中有什么区别?
EN

Stack Overflow用户
提问于 2012-07-19 17:24:45
回答 3查看 14.2K关注 0票数 26

在以下方面有何区别:

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

在WPF中的文本框中?

示例示例:

代码语言:javascript
运行
复制
<TextBox HorizontalAlignment="Stretch"
            HorizontalContentAlignment="Stretch"
            Height="100"
            TextWrapping="Wrap"
            AcceptsReturn="True"
         ></TextBox>
EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2012-07-19 17:30:18

HorizontalAlignmentVerticalAlignment确定控件本身相对于其父控件的对齐方式。

HorizontalContentAlignmentVerticalContentAlignment确定控件与控件的内容对齐方式。

例如,考虑一个常见的Button控件

代码语言:javascript
运行
复制
<Button x:Name="aButton" Width="50" Height="25" />

在这里,您必须指定该控件如何在其父控件中对齐。合适的父控件可以是一个StackPanel、一个网格、一个WrapPanel等等。

对于Horizontal-和VerticalAlignment,您可以在LeftRightCenterStretch选项之间进行选择。前三个选项涉及按钮的宽度和高度,而最后一个选项试图将按钮拉伸到指定的方向,忽略设置的宽度或高度:

密码

代码语言:javascript
运行
复制
<StackPanel Orientation="Horizontal">
    <Button x:Name="aButton" Width="50" Height="25" HorizontalAlignment="Right" />
</StackPanel>

例如,将按钮放置在StackPanel中,并在左边对齐。

HorizontalContentAlignmentVerticalContentAlignment对齐控件的内容。内容是特殊的UIControl,它内置到控件中,您可以简单地通过查看ContentControl的ControlTemplate来利用该控件。请注意,我们特别提到的是ContenControls,它充当了一个容器,能够将一个对象“携带”到内部并显示它的内容。

因此,HorizontalContentAlignmentVerticalContentAlignment正在确定该内容相对于其容器的对齐方式。在最初创建的按钮中,按钮的内容是它的标题,在有问题的两个属性中,您要在按钮边框内对这个标题,这又是其中之一:左、右、中、伸。

票数 29
EN

Stack Overflow用户

发布于 2012-07-19 17:30:36

HorizontalAlignment将您的文本框与其包含的父对象对齐,而HorizontalContentAlignment将对齐您文本框的文本与其本身。

票数 10
EN

Stack Overflow用户

发布于 2018-04-18 09:01:39

HorizontalContentAlignment和VerticalContentAlignment与应用于其内容的内容控件一起使用。例如,在下面的代码中,将其内容(在本例中是一个字符串,可以是任意对象)对齐到中心。

当子元素在面板中时,HorizontalAlignment和VerticalAlignment用于这些元素。面板将根据子元素的这些属性对其子元素进行排列。在下面的代码中,面板(StackPanel)将其子(Button)对齐。

代码语言:javascript
运行
复制
<StackPanel>
    <Button Content="OK" 
    HorizontalContentAlignment="Center" VerticalContentAlignment="Center" 
    HorizontalAlignment="Right" VerticalAlignment="Top" />
</StackPanel>
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11566122

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档