Я пытаюсь отобразить большой объем данных в элементе управления WPF RichTextBox. Мои данные содержат пробелы. Существует поведение переноса слов по умолчанию, которое не позволяет «слово», разделяться и отображаться на других строках.WPF RichTextBox word wrapping
Такое поведение вызвано наличием пробелов, вопросительных знаков, полных остановок или любого другого предложения/разделителя слов. В приведенном ниже примере, если вы замените символ пробела буквой (например: «X»), все будет отображаться, как ожидалось. Поскольку никакие символы-разделители не найдены, большое «слово» разрешено усекать и отображать на нескольких строках.
Есть ли способ отключить это поведение оболочки слов/предложений?
Это код XAML:
<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>
Это CS код позади:
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);
}
Нежелательное поведение упаковка: (пожалуйста, обратите внимание на различную длину линий)
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
Желаемое поведение обертывания: (пожалуйста, обратите внимание на ту же длину линий)
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
Возможный дубликат [C#/WPF: отключить текстовое обтекание RichTextBox] (http://stackoverflow.com/questions/1368047/c-wpf-disable-text-wrap-of-richtextbox) –