Есть ли способ \n
сделать разрыв строки в TextBlock
?
<TextBlock Text="line1\nLine2" />
Или есть лучший способ заставить разрыв средней строки внутри Text
атрибута?
<LineBreak />
У меня это не работает, это должно быть значение Text
атрибута, потому что текстовая строка устанавливается из внешнего источника.
Я знаком, LineBreak
но это не тот ответ, который я ищу.
Ответы:
Я знаю, что это возвращает старый вопрос, но у меня была та же проблема. Решением для меня было использование перевода строки в кодировке HTML (
&#10;
).Line1&#10;Line2
Похоже
Чтобы узнать больше о закодированных HTML-символах, посетите w3schools.
источник
<TextBlock>
и</TextBlock>
тогда да, вам понадобится<LineBreak/>
.
работает внутриText
атрибута:<TextBlock Text="..." />
Попробуй это:
<TextBlock> line1 <LineBreak /> line2 </TextBlock>
источник
Самый простой способ
<TextBlock> blabla <LineBreak /> coucou <LineBreak /> coucou 2 </TextBlock>
Итак, вы просто пишете код XAML, и он
<LineBreak />
имеет то же значение, что ив HTML, или «\ n» в C #.
источник
<LineBreak/>
http://www.longhorncorner.com/UploadFile/mahesh/XamlLineBreak06092005152257PM/XamlLineBreak.aspx
источник
Как насчет того, чтобы разбить строку на два тега?
<StackPanel> <TextBlock Text="Line1" /> <TextBlock Text="Line2" /> </StackPanel>
источник
<LineBreak /> не будет работать, если он находится внутри коллекции, такой как Grid или StackPanel. В таких случаях будет работать следующее:
источник
Правильный способ его использования может заключаться в следующем:
<TextBlock> <Span>text1</Span> <LineBreak/> <Span>text2</Span> </TextBlock>
источник
<HyperlinkButton Content="Apply and restart this pplication! Note that modifying these settings requires the application to be restarted." />
CRLF простой способ =
!
!
- Работайте со всеми элементами управления wpf, xaml, silverlight, такими как TextBlock, HyperlinkText и другимиисточник
Если вы привязываете TextBlock к тексту, другие ответы не работают. Просто добавьте '\ n' к тексту привязки туда, где вы хотите разорвать.
источник
Это тоже отлично работает:
<TextBlock> <Run Text="My nice text"/> <LineBreak/> <LineBreak/> <Run Text="After some linebreaks, I'm back!"/> </TextBlock>
источник
просто используйте элемент управления AccessText. вы можете использовать его как ярлык, и у вас есть свойство TextWrapping = "WrapWithOverflow"
например.
Моя такая и работает нормально. Кроме того, у вас нет проблем с динамическим изменением текста.
источник
Я опаздываю на вечеринку, но ... это более или менее то, как я это сделал (помните, что мои ItemSources - это простые строки, не отформатированные, и мне не нужно было ничего 'convertBack')
public class SpaceToLineBreakConverter : IValueConverter { public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture) { return (!String.IsNullOrEmpty(value as string)) ? new Regex(@"\s").Replace(value as string, "\n") : value; } public object ConvertBack(object value, Type targetType, object parameter,System.Globalization.CultureInfo culture) { throw new NotImplementedException(); } }
источник
У меня была аналогичная проблема, и я хотел привязать строку разметки xaml к TextBlock. По сути, декларативная разметка сохраняется внутри TextBlock в строке для дальнейшего использования.
Вот как я это сделал : я создал подклассы TextBlock, чтобы сделать InlineCollection связываемой, и написал Converter между строкой и InlineCollection (или фактически общим списком Inlines).
источник
&#10;
у меня это не сработало, когда я использовал привязку. Но это работает:$"first line {Environment.NewLine} second line"
источник