2013-06-15 2 views
3

У меня есть RichTextBox с очень небольшим количеством текста (менее 100 символов, включая строки). У меня есть одно событие (TextChanged с пустым телом), без стилей, и окно довольно простое.Вход RichTextBox очень длинный

<Window x:Class="W.MainWindow" 
     xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
     xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 
     Title="MainWindow"> 
    <TabControl HorizontalAlignment="Stretch" VerticalAlignment="Stretch" Name="FileTabControl"> 
     <TabItem Header="TabItem"> 
      <RichTextBox AcceptsReturn="True" HorizontalAlignment="Stretch" VerticalAlignment="Stretch" Name="SampleTextBox"> 
       <RichTextBox.Resources> 
        <Style TargetType="{x:Type Paragraph}"> 
         <Setter Property="Margin" Value="0"/> 
        </Style> 
       </RichTextBox.Resources> 
      </RichTextBox> 
     </TabItem> 
    </TabControl> 
</Window> 

Всё.

Но когда я ввожу код в RichTextBox, он чувствует себя очень лаги и застенчивость. Я читал о многих других людях с проблемами производительности с RTB WPF в довольно похожих обстоятельствах, но ни один из них, похоже, не нашел решения.

Только для заметки я мог бы использовать что-то вроде AvalonEdit, но мне не удалось проанализировать, не означает ли LGPL, что он непригоден для коммерческих проектов, и мне также требуется подсветка синтаксиса и материал на основе неуправляемого кода, а не определение синтаксис подсветка предметy.

+0

Вы пытались установить более низкий 'UndoLimit' в' RichTextBox', я нашел в 'TextBoxes', это улучшает производительность ввода LOT, поскольку я думаю, что по умолчанию это' int.MaxValue', возможно, стоит попробовать ' 'в качестве теста. –

+0

К сожалению, это, безусловно, не решило проблему. – Puppy

+0

Я проверил и получил нулевое отставание. Где вы назначаете событие с измененным текстом. И почему пустое событие? Думайте, что у вас есть что-то еще. – Paparazzi

ответ

0

Вы также можете использовать RichtTextBox из Windows Forms, он работает быстрее. Но это, возможно, не самое прекрасное решение.

Смежные вопросы