Я играю с Silverlight - особенно Silverlight для Windows Phone. Я хотел бы иметь текстовый блок внутри элемента границы. Я хочу, чтобы текстовый блок заполнил весь элемент границы. Я также хотел бы, чтобы текст внутри текстового блока располагался по центру внутри текстового блока - как по вертикали, так и по горизонтали.
Проблема, с которой я сталкиваюсь, состоит в том, что, если я устанавливаю горизонтальное и вертикальное выравнивание текстового блока по центру, то текстовый блок изменяется в соответствии с размером текста, поэтому текстовый блок не заполняет все доступное пространство внутри границы. , Если я установлю свойства горизонтального и вертикального выравнивания текстового блока растягивать, я получу расширение текстового блока, чтобы заполнить границу, но текст текстового блока больше не центрируется. Я думаю, что я могу использовать отступы для центрирования текста, но это не дает точного результата, так как длина текста может варьироваться.
Причина, по которой я хотел бы, чтобы текстовый блок был внутри границы, заключается в том, что Silverlight для Windows Phone не предоставляет свойства фона для текстового блока. Я использую границу, чтобы обеспечить цвет фона.
Короче говоря, есть ли способ центрировать текст в текстовом блоке, когда текстовый блок находится внутри элемента границы, и текстовый блок должен растягиваться, чтобы заполнить границу.
Ниже приведен код, который у меня есть.
<Border BorderBrush="Red" BorderThickness="2" Grid.Row="0" Grid.Column="0">
<TextBlock Name="textBlockA1" Text="Center Me!" HorizontalAlignment="Stretch"
VerticalAlignment="Stretch"/>
</Border>