2016-12-02 68 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。這是一個極好的解釋和一些很好的例子插圖:)這使得它更清晰地看到差異。乾杯,夥計們! –

相關問題