У меня есть 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.
Вы пытались установить более низкий 'UndoLimit' в' RichTextBox', я нашел в 'TextBoxes', это улучшает производительность ввода LOT, поскольку я думаю, что по умолчанию это' int.MaxValue', возможно, стоит попробовать ' 'в качестве теста. –
К сожалению, это, безусловно, не решило проблему. – Puppy
Я проверил и получил нулевое отставание. Где вы назначаете событие с измененным текстом. И почему пустое событие? Думайте, что у вас есть что-то еще. – Paparazzi