Описание
Шлюзы контролируют, когда диспетчер обрабатывает события.
Here is an example of using a gate:
public class MyElement : VisualElement
{
void Foo()
{
using (new EventDispatcherGate(dispatcher))
{
// делаем что-то, что отправляет события
}
}
}
Когда создается экземпляр шлюза, он автоматически закрывается, в результате чего диспетчер сохраняет полученные события в очереди. В конце блока using
вызывается Dispose, что вызывает открытие ворот. Когда все шлюзы в диспетчере открываются, события, хранящиеся в очереди, обрабатываются. Закрытие шлюза во время обработки очереди событий не останавливает ее обработку. Вместо этого создается новая очередь для хранения новых событий.
Конструкторы
EventDispatcherGate | Конструктор. |
Публичные Методы
Dispose | Реализация IDisposable.Dispose. Открывает ворота. Если все ворота открыты, события в очереди обрабатываются. |