Автоматическое вырезание и добавление точек в метку WPF

Как я могу автоматически обрезать текст и добавлять точки на этикетку, если текущий текст не соответствует его ширине в WPF?


person Ramesh Soni    schedule 08.06.2010    source источник


Ответы (2)


Поместите TextBlock внутри вашей метки и установите TextTrimming в CharacterEllipsis или WordEllipsis

<Label>
     <TextBlock TextTrimming="CharacterEllipsis">Hello World</TextBlock>
</Label>
person Ray    schedule 08.06.2010
comment
Конечно нет! Это то, на что вы надеетесь, но вы знаете, что они не могли сделать это так просто! Действительно крутая функция! - person bas; 12.09.2015
comment
По какой-то неясной причине (есть ли в wpf что-то неясное?) это работает в моем дизайнере, но не во время выполнения - person Edwin; 05.03.2017
comment
Неважно, мне нужно было назначить текст текстовому блоку и больше не использовать label.Content в моем коде. - person Edwin; 05.03.2017

Также возможно использовать AccessText внутри метки следующим образом:

<StackPanel Orientation="Horizontal">
<Label VerticalAlignment="Center" Width="50"
        Target="{Binding ElementName=txtName}">
    <AccessText Text="_First Name" TextTrimming="CharacterEllipsis"  />
</Label>
<TextBox Name="txtName" VerticalAlignment="Center" Width="120"/>

With this solution the access key for a control (e.g. Alt+F) still works.

person Stefan Ginther    schedule 07.03.2019