wpf - 如何在 RichTextBox 中放置省略号 (...)

标签 wpf richtextbox ellipsis

我想在富文本框中放一个省略号(..)。

在普通的 TextBlock 中,TextTrimming="WordEllipsis" 具有限制长度以允许省略号表示的属性,但富文本框则不允许。它现在应该只作为富文本框来实现。不允许文本 block 。

我想修剪两三行并添加一个省略号 (..) 选项。有什么好的方法吗?

我想向您展示我是如何使用 RichTextBox 的,但声誉很低。

最佳答案

你没有

正如 grek40 所述,省略号概念仅在显示 文本时有效。 例如,假设显示了省略号,用户试图在你的 RichTextBox 中部分选择一些文本,包括省略号,那么选择的结果是什么?你不知道。

也许

由于省略号通常是 Scrollbar 的替代品,隐藏文本而不是允许您通过滚动来访问它,因此您可以使用 WPF 样式伪造它。 创建一个样式,在 Scrollbar visibility trigger 时显示省略号的图标/图片(位置由您决定)被触发。一旦省略号可见,您将需要禁用 Scrollbar。 这显然比简单地设置一个属性需要更多的努力,如果不小心实现,它很容易成为用户体验的噩梦,所以要小心。

注意:另一个评论(Walt Ritscher)链接到一个类似的问题,那里的解决方案与这个类似。

替代可能

另一个伪造的省略号可以通过使用两个不同的 RichTextBox 控件来实现。 第一个 RichTextBox 会将 ReadOnly 设置为 true。将您的文本修剪到允许的最大长度,并附加一个省略号并将其显示在第一个 RichTextBox 中。 当用户需要编辑文本时,隐藏第一个 RichTextBox 并显示包含整个文本的第二个 RichTextBox

关于wpf - 如何在 RichTextBox 中放置省略号 (...),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43223500/

相关文章:

jQuery 富文本编辑器

c++ - C++中的属性列表中的省略号应该用来做什么?

php - 如何在 CODEIGNITER 中连接具有动态长度的文本?

c# - 绑定(bind)到 Canvas

TabControl/TabPanel/TabItem 的 WPF 样式

c# - 变量的绑定(bind)与显式赋值

c# - Wpf RichTextBox 通过发送编程击键来执行命令

c# - 如何将滚动条向上移动一行? (在 C# RichTextBox 中)

javascript - 检测文本是否溢出 :ellipsis is active on input field

.net - 在 WPF 中定义多个时 DataTrigger 不触发