有人知道我如何禁用RichTextBox
的文字换行吗?例如。如果我有一个大的字符串不适合在窗口中,则RichTextBox
放置字符串中无法显示的新行部分。我想禁用它(并使其仅通过使用Scrollbar
可见)。
非常感谢。
欢呼声
WPF中的RichTextBox
只是RichTextBox
的编辑器。根据FlowDocument
:
文本始终包装在RichTextBox中。如果你不想换行然后设置
FlowDocument
上的MSDN大于宽度RichTextBox。但是,一旦页面达到宽度,文本仍会自动换行。
因此,虽然您无法显式禁用PageWidth的自动换行,但是您可以执行以下操作:
FlowDocument
在行数超过RichTextBox
之前,将具有基本上相同的所需效果。
注(截至2015年7月):VS2015 RC允许richTextBox1.HorizontalScrollBarVisibility = ScrollBarVisibility.Visible;
richTextBox1.Document.PageWidth = 1000;
完全按照OP的期望进行工作。我相信Visual Studio的早期版本也可以。
如果您不想显示水平滚动条,请在ScrollViewer上强制设置MinWidth:
PageWidth
我还需要显示一个大字符串并尝试了RichTextBox,但我不喜欢将Document的PageWidth设置为固定大小的解决方案。滚动条将一直可见,并且滚动区域很大。
如果TextBlock足够,则可以改用它,并将其放在ScrollViewer中。因为我不需要RichTextBox的所有其他功能,所以它对我来说很完美。
wordwrap = false
由于没有答案令我满意,所以这是我的解决方案:
<RichTextBox ScrollViewer.HorizontalScrollBarVisibility="Hidden">
<RichTextBox.Resources>
<Style TargetType="ScrollViewer">
<Setter Property="MinWidth" Value="2000" />
</Style>
</RichTextBox.Resources>
</RichTextBox>
有关性能的问题取决于文本长度和刷新频率。