C#/WPF: Disable Text-Wrap of RichTextBox
Solution 1:
A RichTextBox
in WPF is simply an editor for a FlowDocument
.
According to MSDN:
Text always wraps in a RichTextBox. If you do not want text to wrap then set the PageWidth on the FlowDocument to be larger than the width of the RichTextBox. However, once the page width is reached the text still wraps.
So, while there's no way for you to explicitly disable the word-wrapping of a RichTextBox
, you can do something like this:
richTextBox1.HorizontalScrollBarVisibility = ScrollBarVisibility.Visible;
richTextBox1.Document.PageWidth = 1000;
Which will have essentially the same desired effect until you have a line that exceeds the PageWidth
.
Note (as of July 2015): VS2015 RC allows wordwrap = false
to work precisely as OP seems to desire. I believe earlier versions of Visual Studio did also.
Solution 2:
If you don't want to show the horizontal scrollbar, enforce a MinWidth on the ScrollViewer:
<RichTextBox ScrollViewer.HorizontalScrollBarVisibility="Hidden">
<RichTextBox.Resources>
<Style TargetType="ScrollViewer">
<Setter Property="MinWidth" Value="2000" />
</Style>
</RichTextBox.Resources>
</RichTextBox>