Почему RichTextBox всегда содержит дополнительные символы перед началом документа? - PullRequest
0 голосов
/ 03 мая 2018

Я начинаю с пустого RichTextBox

    <RichTextBox x:Name="textBox" HorizontalAlignment="Left" Height="234" Margin="10,75,0,0" VerticalAlignment="Top" Width="214" PreviewMouseLeftButtonUp="textBox_PreviewMouseLeftButtonUp">
    </RichTextBox>

А потом я загружаю файл, читаю весь текст и затем добавляю это в RichTextBox, как это

using (StreamReader sr = new StreamReader(@"D:\Text.txt"))
{
    string fullText = sr.ReadToEnd();

    textBox.Document.Blocks.Add(new Paragraph(new Run(fullText)));
}

Когда я проверяю полный текст, который я вставляю, это выглядит так ... сразу начинается с символа E

enter image description here

Но затем, после того, как он отображается в элементе управления, я выделяю часть начала текста, но перед самым первым символом появляется перевод строки каретки.

enter image description here

enter image description here

Итак, мой вопрос: всегда ли вставляются эти символы?

Есть ли способ удалить это поведение, чтобы оно не вставляло ничего перед самым первым символом документа?

1 Ответ

0 голосов
/ 03 мая 2018

В вашем RichTextBox уже есть блок. Вы можете удалить его с помощью textbox.Document.Blocks.Clear();. Ваш первый новый абзац теперь не будет иметь места над ним. Абзацы добавляют пространство над собой, если они идут после другого элемента.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...