I am trying to display a large amount of data in a WPF RichTextBox control. My data contains space characters. There is a default word wrapping behavior that does not allow a "word", to be split and displayed on more lines.
This behavior is triggered by having space characters, questions marks, full stops or any other sentence/word delimiter. In the example below, if you replace the space character with a letter ( ex: "X" ), everything will be displayed as expected. As no delimiter characters are found, the big "word" is allowed to be truncated and displayed on multiple lines.
Is there a way of disabling this word/sentence wrapping behavior?
This is the XAML code:
<Window x:Class="StackOverQuestion_TextBoxWrap.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="MainWindow" Height="350" Width="535">
<Grid>
<RichTextBox Name="RichTextBox" />
</Grid>
</Window>
This is the cs code behind:
public MainWindow()
{
InitializeComponent();
Random rnd = new Random();
RichTextBox.FontFamily = new System.Windows.Media.FontFamily( "Lucida Console" );
Paragraph par = new Paragraph();
for ( int i = 0 ; i < 6000 ; i++ )
{
Run run = new Run();
run.Text = rnd.NextDouble().ToString() + " " ;
par.Inlines.Add( run );
}
RichTextBox.Document.Blocks.Add( par );
}
Undesired wrapping behaviour: (please notice the different length of the lines)
0.562230281327958 0.269015421750497 0.130114109315963 0.527640242375266 0.592048898149305
0.73868335026255 0.478530279117883 0.939313878276997 0.890535918479104 0.00047110533363703
0.546423877378192 0.780972927241108 0.697112546626997 0.66897076306351 0.634957212319112
0.498651245375467 0.808829494662969
Desired wrapping behaviour: (please notice the same length of the lines)
0.562230281327958 0.269015421750497 0.130114109315963 0.527640242375266 0.592048898149305
0.73868335026255 0.478530279117883 0.939313878276997 0.890535918479104 0.0004711053336370
3 0.546423877378192 0.780972927241108 0.697112546626997 0.66897076306351 0.63495721231911
2 0.498651245375467 0.808829494662969