TextBox 控件的加速响应

发布于 2024-10-16 21:15:30 字数 1215 浏览 6 评论 0原文

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

,但我将反应与在 Skype、gtalk 中键入进行比较,我认为将 MS WPF 控件与 Skype 或 gtalk 中的“文本框控件”进行比较是愚蠢的。

关于异步绑定我尝试一下:

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

文本在文本框控件中以相反方式写入。

例如,您输入:Hello,在文本框中的控件是 olleH :)

I use in WPF textBox control as chat window -> use typing chat messages into textBox control.
Problem is that user typing little faster TextBox reacts slowly. I would like to somehow accelerated response of textBox if it possible.

Any idead. It is difficult describe this behevior, if you have some time try it, quickly type in this control.

Edited:

Here is original part of textBox’s code:

    <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)]"/>

I omitted the two way binding and also PreviewKeyDown and I would say it is the same by my opinion.

Here is modified code of textBox’s

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

But I compare reacts with typing in skype, gtalk and I think it was stupid compare MS WPF control with "textBox control" in Skype or gtalk.

About Asyc binding I try it:

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

Text is writing in textbox control as reverse.

For example you typing: Hello and in textBox constrol is olleH :)

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

旧瑾黎汐 2024-10-23 21:15:30

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

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

Bindings and event handlers can slow down text box. Do you have any complex code bound to the Text property? Do you have any event handlers that could slow down the text box?

You can use asynchronous bindings, if you can't afford reducing the complexity of the bound property's code. If you process the text box's text via event, do the bulk of the operations in a separate thread (so the GUI thread is not slowed down).

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文