2

我在 WPF 文本框控件中用作聊天窗口-> 使用在文本框控件中输入聊天消息。问题是用户输入速度稍快 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 
             TextWrapping="Wrap"
             VerticalScrollBarVisibility="Auto" 
             FontSize="14"
             Margin="2,2,2,2" 
             Grid.Row="3"
             MinHeight="70"/>

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

关于 Asyc 绑定我试试:

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

文本在文本框控件中以反向书写。

例如,您键入:Hello 并且在 textBox 中控制是 olleH :)

4

1 回答 1

2

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

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

于 2011-02-10T21:48:58.797 回答