wpf: увеличение высоты текстового блока, когда текст становится слишком большим для 1 строки - PullRequest
3 голосов
/ 18 сентября 2009

У меня есть список с шаблоном элемента:

<ListView x:Name="messages" HorizontalAlignment="Left" 
    Background="{x:Null}" BorderBrush="{x:Null}" Foreground="Black">
    <ListView.ItemTemplate>
        <DataTemplate>
            <TextBlock Style="{DynamicResource h3}" Text="{Binding}"
                Margin="10" MaxWidth="850"/>
        </DataTemplate>
    </ListView.ItemTemplate>
</ListView>

Этот список находится в вертикальной панели стека. Таким образом, его ширина равна ширине панели стека.

В списке должны отображаться сообщения, которые могут быть очень длинными. Я пытаюсь убедиться, что когда сообщение слишком длинное для доступной ширины, текстовый блок получает дополнительную высоту, а текст отображается в 2 строки.

Я могу погуглить множество способов добиться этого с фиксированной высотой, но, поскольку я заранее не знаю, понадобится ли мне больше 1 строки, я бы хотел убедиться, что это происходит автоматически. Я не хочу, чтобы каждый элемент имел высоту 2 строки, только когда это необходимо.

Как мне этого добиться?

1 Ответ

3 голосов
/ 20 сентября 2009

Вы пробовали свойство TextWrapping? Кажется, он будет делать то, что вы хотите.

...