我们要求在某些不确定的触发硬件事件上,GUI 会根据事件而变化。由于 GUI 的复杂性,这可能需要几秒钟。
现在问题来了。如果我在 GUI 仍然繁忙时单击按钮,有时会调用错误的按钮,因为在 GUI 布局之后,此按钮现在位于之前单击发生的鼠标坐标处。
我确信使用Windows窗体的行为是不同的。我可以绕过这种行为吗?
你可以:
- 刷新时隐藏或覆盖 UI(例如,使用忙碌指示器)
- 优化刷新(请参阅 MSDN Wpf 优化类别,尤其是布局和设计)
- 快速和肮脏 - 存储一个 IsRefresh 变量并使用它来启用按钮或取消按钮处理程序
编辑
真正的问题是:你的瓶颈是什么?UI刷新还是背后的逻辑?