我的 WPF 视图中有一个 TextBlock 元素,它数据绑定到视图模型中的字符串属性。现在,此属性中的文本可以变得更长一些,因此应将其修剪为单行显示。布局不应更改,因此必须避免使用多行。此外,不应更改数据绑定源并保持单个字符串。要显示的文本类似于以下示例:
- XY 的一些对象
- ABC的另一个对象
- 3 个模糊对象(XY、ABC、DEF)
- 20 个很棒的物体(XY #1、#2、ABC #2、#3、DEF、GHI 以及,一些,更多)
简单的解决方案是这样的:
<TextBlock Text="{Binding PageTitle}" TextTrimming="CharacterEllipsis"/>
这适用于前两个示例文本,但在最后两个示例中,我希望右括号保持可见。所以我目前得到的是:
- 20 个很棒的对象(XY #1、#2、ABC #2、#3、DEF...
但我寻求的是:
- 20 个很棒的对象(XY #1、#2、ABC #2、#3、DEF... )
WPF中是否有一种简单的方法可以做到这一点?基本上,省略号字符串现在总是三个点(从视觉上看,也可能是 Unicode 字符),它需要是可变的,并且包括源字符串中包含的任何结束标点符号。
如有必要,我可以为此编写一个自定义控件,但也需要有关实现修剪的帮助。