TextBox控件的加速响应

时间:2011-02-10 21:43:57

标签: wpf textbox typing

我在WPF textBox控件中用作聊天窗口 - >使用键入聊天消息到textBox控件。 问题是用户输入的速度要快一点,TextBox反应缓慢。如果可能的话,我想以某种方式加速textBox的响应。

任何想法。很难描述这个行为,如果你有时间尝试,快速输入这个控件。

编辑:

这是textBox代码的原始部分:

    <TextBox Text="{Binding Path=RpText,Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}"
             TextWrapping="Wrap"
             VerticalScrollBarVisibility="Auto" 
             FontSize="14"
             Margin="2,2,2,2" 
             Grid.Row="3"
             MinHeight="70"
             Micro:Message.Attach="[PreviewKeyDown]=[Action SendRp($eventArgs)]"/>

我省略了双向绑定以及PreviewKeyDown,我想说我的看法是一样的。

这是textBox的修改代码

    <TextBox 
             TextWrapping="Wrap"
             VerticalScrollBarVisibility="Auto" 
             FontSize="14"
             Margin="2,2,2,2" 
             Grid.Row="3"
             MinHeight="70"/>

但是我比较了skype,gtalk的输入,我认为在Skype或gtalk中将MS WPF控件与“textBox控件”进行比较是愚蠢的。

关于Asyc绑定我试试看:

  <TextBox Text="{Binding Path=RpText,Mode=TwoWay, UpdateSourceTrigger=PropertyChanged, IsAsync=True}"/>

Text正在文本框控件中反向写入。

例如,您键入:Hello,在textBox中,constrol是olleH:)

1 个答案:

答案 0 :(得分:2)

绑定和事件处理程序可以减慢文本框的速度。你有任何绑定到Text属性的复杂代码吗?你有没有可能减慢文本框速度的事件处理程序吗?

如果无法降低绑定属性代码的复杂性,可以使用asynchronous bindings。如果您通过事件处理文本框的文本,请在单独的线程中执行大部分操作(因此GUI线程不会变慢)。