网关控制调度程序何时处理事件。
以下是如何使用网关的示例
当实例化网关时,它会自动关闭,导致调度程序将其接收到的事件存储在队列中。在using
块的末尾,调用 Dispose,这会触发打开网关。当调度程序上的所有网关都打开时,队列中存储的事件将被处理。在处理事件队列时关闭网关不会阻止其被处理。相反,将创建一个新队列来存储新事件。
以下是如何使用网关的示例
public class MyElement : VisualElement { void Foo() { using (new EventDispatcherGate(dispatcher)) { // do something that sends events } } }
EventDispatcherGate | 构造函数。 |
Dispose | IDisposable.Dispose 的实现。打开网关。如果所有网关都打开,则处理队列中的事件。 |