【问题标题】:XAML TextBlock TextAlignment vs HorizontalAlignmentXAML TextBlock TextAlignment 与 Horizo​​ntalAlignment
【发布时间】:2016-12-02 23:57:13
【问题描述】:

考虑以下 XAML:

<Grid>
    <TextBlock Text="Some Text" TextAlignment="Right" />
    <TextBlock Text="Some Text" HorizontalAlignment="Right" />
</Grid>

只要TextBlocks 都设置为相同的Grid.RowGrid.Column,它们将始终出现在同一个位置——一个在另一个之上。

类似的概念,在这里 - StackPanels 中的 2 行文本完全对齐:

<Grid>
    <StackPanel>
        <TextBlock Text="Line One" HorizontalAlignment="Right" />
        <TextBlock Text="Line Two" TextAlignment="Right" />
    </StackPanel>
    <StackPanel>
        <TextBlock Text="Line One" HorizontalAlignment="Right" />
        <TextBlock Text="Line Two" TextAlignment="Right" />
    </StackPanel>
</Grid>

等等……


就在父项右侧显示文本而言,TextAlignmentHorizontalAlignment 属性都在做同样的事情——据我所见。

谁能告诉我TextAlignmentHorizontalAlignment 之间的实际区别是什么,当涉及到TextBlocks 时?

这两者中是否有首选?

使用这两种方法有什么影响吗?

【问题讨论】:

    标签: xaml alignment textblock text-alignment


    【解决方案1】:

    HorizontalAlignment 确定TextBox 相对于其父对象的对齐方式。

    TextAlignment 确定TextBox 内文本的对齐方式

    正如您所发现的,在某些情况下,它在实践中等同于同一件事。

    <Border 
        BorderBrush="Black" 
        BorderThickness="1" 
        Width="250" 
        HorizontalAlignment="Left" 
        Margin="10"
        >
        <StackPanel Orientation="Vertical">
            <TextBlock 
                Background="Orange"
                TextAlignment="Right" 
                HorizontalAlignment="Left" 
                >
                I met a young lady named Blorenge<LineBreak/>
                Whose XAML examples were orange<LineBreak/>
                She ran out of rhymes<LineBreak/>
                At embarrassing times,
            </TextBlock>
            <TextBlock 
                Background="LightSkyBlue"
                TextAlignment="Left"
                HorizontalAlignment="Right" 
                >
                I met a young lady named Blorenge<LineBreak/>
                Whose XAML examples were orange<LineBreak/>
                She ran out of rhymes<LineBreak/>
                At embarrassing times,
            </TextBlock>
        </StackPanel>
    </Border>
    

    这是来自@ChrisW. 的另一个插图,它显示了两者如何看起来相同,但实际上在可能影响布局等的方式上有所不同。

    【讨论】:

    • 好吧,在做例子的时候打败我,如果你想要另一个视觉图像,我会在我的 this image 上拍一下,让它像一个“中心”一样可视化
    • 感谢@EdPlunkett 和ChrisW。!这是一个极好的解释和一些很好的示例插图:) 这使得看到差异变得更加清晰。干杯,伙计们!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-08-28
    • 2010-10-19
    • 2019-01-26
    • 2013-06-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多