Подтвердить что ты не робот

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

EDIT:

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


Обычно, когда я устанавливаю Text свойство TextBlock следующим образом:

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

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

4b9b3361

Ответ 1

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

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

Покажет пробелы, однако

<TextBlock>    Hello world!    </TextBlock>

не будет.

Ответ 2

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

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

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

Ответ 3

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

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

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