【发布时间】:2011-11-17 23:09:16
【问题描述】:
我正在使用 silverlight - 特别是用于 windows phone 的 Silverlight。我想在边框元素中有一个文本块。我希望文本块填满整个边框元素。我还希望文本块内的文本在文本块内居中 - 垂直和水平。
我遇到的问题是,如果我将文本块的水平和垂直对齐设置为居中,那么文本块会调整为文本的大小,因此文本块不会填满边框内的所有可用空间.如果我将文本块的水平和垂直对齐属性设置为拉伸,我会让文本块扩展以填充边框,但文本块文本不再居中。我想我可以使用填充使文本居中,但这并不能给出精确的结果,因为文本的长度可能会有所不同。
我首先希望将文本块放在边框内的原因是因为 Silverlight for Windows Phone 没有为文本块提供背景属性。我使用边框来提供背景颜色。
简而言之,当文本块位于边框元素内并且文本块必须拉伸以填充边框时,有什么方法可以使文本块中的文本居中。
下面是我目前的代码。
<Border BorderBrush="Red" BorderThickness="2" Grid.Row="0" Grid.Column="0">
<TextBlock Name="textBlockA1" Text="Center Me!" HorizontalAlignment="Stretch"
VerticalAlignment="Stretch"/>
</Border>
【问题讨论】:
标签: windows-phone-7 silverlight-4.0 border textblock