限制事件队列的最佳实践



我正在寻找有关应用程序的特定用例的建议和帮助。下面是用例:

一个WPF应用程序的用户开始疯狂地到处点击,在第一个(或前一个)事件完成之前触发了许多事件。

目前,WPF将任何和所有的单击排队,并将它们排队以顺序执行。理想情况下,我们希望最多排队3个事件,并删除并忽略前3个之后的任何和所有点击(用户交互)。

解决这个问题的最佳方法是什么,这个用例的最佳实践是什么。任何文档,代码和/或帮助将不胜感激。

由于这确实是一个windows问题,而不是WPF问题,我唯一能想到的是挂钩消息队列并在一定时间内丢弃点击,除非您在每个控件中编写特定的处理程序。另一种选择是编写应用程序,以便在操作期间向用户提供反馈,并禁用输入。

WPF使用什么来捕获鼠标和键盘输入?

如果使用MVVM,所有UI操作都绑定到ViewModel命令或属性。在ViewModel中,您可以完全控制想要处理来自UI的内容的数量和频率。它可能会涉及某种生产者和消费者队列。

如果你的用户操作阻塞了UI,你需要尽可能在UI线程之外处理它们。

相关内容

  • 没有找到相关文章

最新更新