Установить TextBlock, чтобы сохранить пробел в начале и в конце?

РЕДАКТИРОВАТЬ:

Код ниже на самом деле работает так, как я хочу - этот вопрос немного вводит в заблуждение. Пожалуйста, игнорируйте это.


Обычно, когда я устанавливаю Text собственностью TextBlock как это:

TextBlock tb = new TextBlock();
tb.Text = "     Hello World ";

Пробелы в начале и в конце текста не отображаются. Текст показан TextBlock только Hello World, Как я могу установить TextBlock отображать их (то есть не удалять пробелы)? Я скучаю по какой-то собственности?

4 ответа

В этом случае вам не нужно использовать xml:space="preserve"

<TextBlock xml:space="preserve" Text="     Hello world!    " />

БУДЕТ отображать пробелы, однако

<TextBlock>    Hello world!    </TextBlock>

не будет.

Re: "Я просто надеюсь, что вы не используете это для выравнивания текста. Есть много других более изящных методов для этого".

Похоже, вы можете использовать свойство Padding: http://msdn.microsoft.com/en-us/library/system.windows.controls.textblock.padding(VS.85).aspx.

Смотрите также различные свойства выравнивания и полей.

Установить свойство xml:space для сохранения в вашем XAML, я предполагаю, что вы используете WPF

<TextBlock xml:space="preserve" Text="     Hello world!    " />

РЕДАКТИРОВАТЬ: Иногда проще сделать вещи в XAML. Я просто надеюсь, что вы не используете это для выравнивания текста. Есть много других более изящных способов сделать это.

Вам не нужно использовать свойство Text=. Это тоже работает:

      <TextBlock xml:space="preserve">Staff Contact Details        <Hyperlink>Click here</Hyperlink></TextBlock>
Другие вопросы по тегам