我想在省略号(..)的富文本框中输入。如何将省略号(...)放在RichTextBox中
在正常的TextBlock
中,TextTrimming="WordEllipsis"
有一个属性限制了允许省略号表示的长度,但是富文本框没有。它现在只应该作为一个富文本框来实现。文本块是不允许的。
我想修剪两三行并添加一个省略号(..)选项。有什么好方法吗?
我想告诉你我如何使用RichTextBox,但声誉很低。
我想在省略号(..)的富文本框中输入。如何将省略号(...)放在RichTextBox中
在正常的TextBlock
中,TextTrimming="WordEllipsis"
有一个属性限制了允许省略号表示的长度,但是富文本框没有。它现在只应该作为一个富文本框来实现。文本块是不允许的。
我想修剪两三行并添加一个省略号(..)选项。有什么好方法吗?
我想告诉你我如何使用RichTextBox,但声誉很低。
你不
省略号概念就是,如图grek40说,这东西只有当显示文字工作。 作为一个例子,假设显示省略号,并且用户试图部分选择RichTextBox
中的一些文本,包括省略号,选定的结果是什么?你不知道。
也许
由于省略号通常是一个Scrollbar
替换,隐藏文本,而不是让您通过滚动来访问它的,你也许可以伪造它通过使用WPF样式。 创建一个样式,只要Scrollbar visibility trigger被触发,就会显示省略号的图标/图片(放置由您决定)。一旦省略号可见,您将需要禁用Scrollbar
。 这显然需要比简单设置属性更多的努力,如果没有谨慎实施,它很容易成为用户体验的噩梦,所以要警告。
注意:另一个评论(由沃尔特里察尔)链接到一个类似的问题,解决方案有类似于这一个。
另类也许
另一个伪造的省略号可以通过使用两种不同的RichTextBox
控制来实现。 第一个RichTextBox
将会设置ReadOnly
到true
。将您的文本修剪为允许的最大长度,然后附上一个省略号并将其显示在第一个RichTextBox
内。 当用户需要编辑文本时,隐藏第一个RichTextBox
并显示第二个RichTextBox
,其中包含整个文本。
虽然TextBlock被设计为*显示*文本,任何文本框被设计为*编辑*文本。编辑没有完整显示的文本并不能真正发挥作用,所以它看起来像你想显示文本,但出于某种原因,你更愿意在RichTextBox中这样做......谨慎地解释这个决定的一些背景? – grek40
[TextBox TextTrimming]可能重复(http://stackoverflow.com/questions/10227014/textbox-texttrimming) –
@ grek40你是对的,我可以用TextBlock来做。但我正在使用一个RichTextBox,它可以支持可能包含文本的格式化文本。 因此,为了做到这一点,我们使用了保存在数据库中的rtf文本格式,它保留了所有格式,我不知道Textbloxk是否支持文本格式非常容易。 现在已经使用了RichTextBox,并且用TextBlock替换它将非常困难,所以请使用RichTextBox提出任何建议。 –