2016-12-02 102 views
0

考虑以下XAML:XAML TextBlock的TextAlignment VS的Horizo​​ntalAlignment

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

只要两个TextBlock s的设置为相同的Grid.RowGrid.Column,他们总是会出现在同一个地方 - 一个在另一个之上。

类似的概念,在这里 - 与2号线在两个StackPanel s的文字正好对齐:

<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之间的实际区别是什么,说到TextBlock s?

是否有两种使用的首选?

使用两者有没有任何影响?

回答

2

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> 

enter image description here

下面是另一个例子,从@ChrisW,这显示了如何将两者可以看起来是一样的,而实际上是在可能影响布局等方面有所不同

enter image description here

+1

当然,当我举一个例子时,击败我,如果你想要另一个视觉形象,我要拍摄[这个图像](http://i.imgur.com/0risUbE.png)在我的视觉化像一个“中心” –

+0

@ChrisW。谢谢! –

+0

谢谢@EdPlunkett和ChrisW。这是一个极好的解释和一些很好的例子插图:)这使得它更清晰地看到差异。干杯,伙计们! –

相关问题