Как удалить первую пустую строку RichTextBox? - PullRequest
0 голосов
/ 18 ноября 2018

У меня есть RichTextBox, определенный как это в файле .xaml:

<RichTextBox x:Name="logTextBox" ScrollViewer.HorizontalScrollBarVisibility="Hidden" ScrollViewer.VerticalScrollBarVisibility="Auto" IsReadOnly="True" FontSize="14"  Margin="48,10,49,9" Background="Black">
            <RichTextBox.Resources>
                <Style TargetType="{x:Type Paragraph}">
                    <Setter Property="Margin" Value="0"/>
                </Style>
                <Style TargetType="ScrollViewer">
                    <Setter Property="MaxWidth" Value="500" />
                </Style>
            </RichTextBox.Resources>
        </RichTextBox>

И я использую его так:

    public void AddLog(string log, Color color)
    {
        Run run = new Run(log);
        run.Foreground = new SolidColorBrush(color);
        Paragraph paragraph = new Paragraph(run);
        var numberOfBlocks = logTextBox.Document.Blocks.Count;
        const int MaxNumberOfBlocks = 100;
        if(numberOfBlocks > MaxNumberOfBlocks)
        {
            logTextBox.Document.Blocks.Remove(logTextBox.Document.Blocks.FirstBlock);
        }
        logTextBox.Document.Blocks.Add(paragraph);
        logTextBox.ScrollToEnd();
    }

В целом, это выглядит красиво и делает всеЯ хочу, чтобы это было сделано, за исключением одной маленькой детали, с которой я не могу разобраться - она ​​добавляет пустую строку в начале текстового поля, а именно:

enter image description here

Есть ли способ это исправить?

1 Ответ

0 голосов
/ 18 ноября 2018

Remvoe это в начале

 public MainWindow()
 {
    InitializeComponent();                
    logTextBox.Document.Blocks.Remove(logTextBox.Document.Blocks.FirstBlock);
 }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...