XAML TextBlock TextAlignment 与 HorizontalAlignment
XAML TextBlock TextAlignment vs HorizontalAlignment
考虑以下 XAML:
<Grid>
<TextBlock Text="Some Text" TextAlignment="Right" />
<TextBlock Text="Some Text" HorizontalAlignment="Right" />
</Grid>
只要两个 TextBlock
设置为相同的 Grid.Row
和 Grid.Column
,它们将始终出现在同一位置 - 一个在另一个之上。
类似的概念,这里 - StackPanel
中的 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>
等等...
就在父级右侧显示文本而言,TextAlignment
和 HorizontalAlignment
属性都在做同样的事情——据我所知。
谁能告诉我 TextAlignment
和 HorizontalAlignment
在 TextBlock
方面的实际区别是什么?
两者有更优的选择吗?
使用这两者有什么影响吗?
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. 的另一幅插图,它显示了两者如何看起来相同,但实际上在可能影响布局等方面的不同之处。
考虑以下 XAML:
<Grid>
<TextBlock Text="Some Text" TextAlignment="Right" />
<TextBlock Text="Some Text" HorizontalAlignment="Right" />
</Grid>
只要两个 TextBlock
设置为相同的 Grid.Row
和 Grid.Column
,它们将始终出现在同一位置 - 一个在另一个之上。
类似的概念,这里 - StackPanel
中的 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>
等等...
就在父级右侧显示文本而言,TextAlignment
和 HorizontalAlignment
属性都在做同样的事情——据我所知。
谁能告诉我 TextAlignment
和 HorizontalAlignment
在 TextBlock
方面的实际区别是什么?
两者有更优的选择吗?
使用这两者有什么影响吗?
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. 的另一幅插图,它显示了两者如何看起来相同,但实际上在可能影响布局等方面的不同之处。