我有ListBox
,其中包含以下内容:
<ListBoxItem>
<ListBoxItem.ContentTemplate>
<DataTemplate>
<TextBlock Text="{Binding Path=department}"></TextBlock>
</DataTemplate>
</ListBoxItem.ContentTemplate>
</ListBoxItem>
department是一个字符串属性:text =“dept1 \ dept2 \ dept3 \ dept4 \ dept5 \ dept6”
我的问题是,当ListBox
大小发生变化时,我想以这种方式更改TextBlock
文本:text = dept1 \ dept2 \ ... \ dept6。
(dept1 \ dept2 \ ... \ dept6)的长度等于或小于ListBoxItem
实际大小。
答案 0 :(得分:0)
您需要将TextBlock的TextTrimming属性设置为CharacterEllipsis,如下所示 -
<TextBlock Text="{Binding Path=department}" TextTrimming="CharacterEllipsis"/>
但如果它大于listboxitem的大小,这将在文本末尾显示省略号。像这样的东西 - “dept1 \ dept2 \ dept3 \ dept4 \ dept5 ......”
但是如果你想要它在中心,你可能不得不使用ValueConverter
格式化字符串。这可能会有所帮助 - Ellipsis at start of string in WPF ListView