RichTextBox输入非常滞后

本文关键字:滞后 非常 输入 RichTextBox | 更新日期: 2023-09-27 18:18:28

我有一个RichTextBox,其中有非常少量的文本(包括行尾少于100个字符)。我有一个事件(TextChanged与一个空体),没有样式,和窗口是相当简单的。

<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中输入代码时,感觉非常滞后和卡顿。我读过很多其他人在类似的情况下使用WPF的RTB遇到性能问题,但似乎没有一个人找到解决方案。

只是为了说明,我可以使用像AvalonEdit这样的东西,但我未能解析LGPL是否意味着它在商业项目中不可用,并且我还需要基于非托管代码的语法高亮和东西,而不是定义语法高亮的东西。

RichTextBox输入非常滞后

你也可以使用RichtTextBox从Windows窗体,它的工作速度更快。但这可能不是最完美的解决方案。