【发布时间】:2017-07-14 07:11:34
【问题描述】:
我正在使用 RichTexbox 在我的应用程序中显示 RTF 文本,取决于窗口宽度 RichTextbox 文本自动换行到下一行!!
我想禁用文本自动扭曲,而不是显示滚动条,另外我不想设置 FlowDocument 的 PageWidth 以避免文本换行(因为我显示 RTF 文本我无法测量基于字符的 PageWidth /size/Font/文本的字体样式,因为每个字符可能包含不同的字体样式和大小)
<RichTextBox HorizontalScrollBarVisibility="Auto" VerticalScrollBarVisibility="Auto">
<FlowDocument >
<Paragraph>
<Run Text="RichTextBoxRichTextBoxRichTextBoxRichTextBoxRichTextBoxRichTextBoxRichTextBoxRichTextBoxRichTextBoxRichTextBoxRichTextBoxRichTextBoxRichTextBoxRichTextBoxRichTextBoxRichTextBoxRichTextBoxRichTextBoxRichTextBoxRichTextBoxRichTextBox"/>
</Paragraph>
</FlowDocument>
是否有任何其他现有属性可以控制自动换行,或者我们可以在不测量文本大小的情况下处理这个问题
我已经在 MSDN forum 中讨论过这个问题,还参考了现有的堆栈流讨论 WPF RichTextBox word wrapping 和 Wpf RichTextBox wrapping problems
谢谢
桑托什德维
【问题讨论】:
-
<FlowDocument PageWidth="10000">- 将文档的 PageWidth 设置为大数字。这看起来是唯一的选择。为什么你不想设置 PageWidth ? stackoverflow.com/questions/1368047/… -
我已经尝试过将 PageWidth 分配给一个很大的值,但是 HorizontalScrollbar 始终可见,当我水平滚动时,空白页面正在滚动,如果 bigdata 绑定到它,也有机会进行文本换行.这就是为什么不相信将大数字设置为 pagewidth...
-
如果您要显示大量文本,
FlowDocument可能不是最佳选择(尽管它肯定比FixedDocument好)。如果您显示的内容的行过长,则文档布局/格式化成本可能会随着文档大小的增加而显着增加。唉,FlowDocument是您使用RichTextBox时得到的结果。如果您必须显示 RTF 内容,您可能没有太多选择。但如果我们对您展示的内容有更多了解,或许我们可以提供更合适的替代方案。
标签: c# wpf xaml richtextbox word-wrap