Вопрос
Как добавить новую строку в текст метки в WPF, например, как показано ниже?
<Label>Lorem
ipsum</Label>
Решение
<Label><TextBlock>Lorem<LineBreak/>ipsum</TextBlock></Label>
Вам необходимо использовать TextBlock, поскольку TextBlock принимает в качестве дочерних элементов коллекцию встроенных объектов.Итак, вы передаете элементу TextBlock три встроенных элемента:Запустите Text="Lorem", LineBreak и Run Text="ipsum".
Вы не можете делать следующее:
<Label>Lorem<LineBreak/>ipsum</Label>`
потому что метка принимает один дочерний элемент контента.
Кроме того, я не совсем уверен, каков ваш вариант использования, но обратите внимание, что я поместил TextBlock внутри вашего элемента Label.Это повторяется?Не совсем, в зависимости от ваших потребностей.Вот хорошая статья о различиях между этими двумя элементами: Разница между меткой и текстовым блоком
Другие советы
в WPF вы можете использовать значение " "
или "
"
Например:
<Label Content="Lorem ipsum" />
(«10» — это номер ASCII для новой строки)
или
<Label Content="Lorem
ipsum" />
(«A» — это номер ASCII для новой строки в шестнадцатеричном формате)
Делая это в ViewModel или Model, я обнаружил, что использование Environment.NewLine дает наиболее последовательный результат, включая локализацию.Это также должно работать непосредственно в представлении, но я это не проверял.
Пример:
В представлении
<Label Content="{Binding SomeStringObject.ParameterName}" />
В модели представления:
SomeStringObject.ParameterName = "First line" + Environment.NewLine + "Second line";