Как применить TextTrimming CharacterEllipsis к тексту в TextBlock - PullRequest
0 голосов
/ 20 января 2020

У меня есть текстовый блок и кнопка. Они прикреплены в виде сетки в последовательных столбцах. Там CharacterEllipsis не работает в текстовом блоке. Код приведен ниже. Пожалуйста, дайте представление о том, как это сделать.

1 Ответ

0 голосов
/ 20 января 2020

Условие запуска TextTrimming состоит в том, что длина текущего текста превышает размер TextBlock. Исходя из этого, чтобы TextTrimming вступил в силу, вы можете сделать это двумя следующими способами:

  1. Установить Width из TextBlock:
<TextBlock TextTrimming="CharacterEllipsis" Width="100" Text="{x:Bind Name}" .../>

Если ширина родительского контейнера TextBlock фиксирована и не требует изменений в зависимости от размера контента, вы можете явно установить TextBlock.Width.

Измените тип контейнера на Grid:
<Grid>
    <Grid.ColumnDefinitions>
        <ColumnDefinition Width="Auto" />
        <ColumnDefinition Width="1*" />
    </Grid.ColumnDefinitions>

    <!--First column element-->

    <TextBlock TextTrimming="CharacterEllipsis" Grid.Column="1" Text="{x:Bind Name}" .../>
</Grid>

Grid и StackPanel различны. Хотя его ширина также связана с содержимым, вы можете ограничить ширину столбца таблицы, чтобы она не превышала родительский контейнер, установив <ColumnDefinition Width="1*" />, что также позволяет скрытно установить ширину.

Этот метод более гибкий и подходит для ситуаций, когда ширина контейнера не определена.

С уважением.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...