У меня есть строка, которую я должен отображать в TextBlock, мой TextBlock имеет фиксированный размер, мне нужно отображать текст таким образом, если строка не помещается в TextBlock, тогда мне нужно разделить строку в следующем TextBlock, как я могу сделать то же самое .
Как разместить текст в текстовом блоке в WPF
Ответы (2)
Почему бы вам не попробовать использовать свойство TextWrapping
этого TextBlock
?
XAML:
<TextBlock TextWrapping="Wrap" Text="very very very long text" Width="30"/>
C#:
myTextBlock.TextWrapping = TextWrapping.Wrap;
person
Marcel B
schedule
02.12.2009
мой TextBlock имеет фиксированную ширину, а также фиксированную высоту, если я использую перенос слов, он будет работать для ширины, но не для высоты.
- person Firoz; 02.12.2009
В этом случае я бы предложил текстовый блок, который переносится и имеет вертикальную прокрутку - комбинацию обоих наших ответов.
- person MoominTroll; 02.12.2009
Действительно ли необходимо, чтобы ваш TextBlock имел фиксированную высоту? Не могли бы вы опубликовать код из своего определения пользовательского интерфейса?
- person Marcel B; 02.12.2009
Если вы не хотите переноса, то использование горизонтальной/вертикальной полосы прокрутки — еще один вариант, который вы можете изучить. Читая вопрос, я думаю, что перенос текста может быть более подходящим (не похоже, что вы хотите что-то скрыть), но варианты всегда хороши.
<ScrollViewer Height="30">
<TextBlock Width="30" TextWrapping="Wrap">HElooooooooooooooooooooooooooooooooooooo</TextBlock>
</ScrollViewer>
РЕДАКТИРОВАТЬ: сочетает перенос слов и просмотрщик прокрутки.
person
MoominTroll
schedule
02.12.2009
Хорошая идея, но если текстовый блок маленький, это будет выглядеть странно.
- person Marcel B; 02.12.2009
Верно, но width=30 и height=30 — совершенно произвольные значения, которые подходят для этого небольшого примера. Если текстовый блок в пользовательском интерфейсе действительно крошечный, но должен содержать много текста, то я бы сказал, что виноват дизайн пользовательского интерфейса.
- person MoominTroll; 02.12.2009