Как ждать WaitHandle при обслуживании событий WPF Dispatcher?
Кто-то написал мне по электронной почте и спросил, есть ли у меня версияWaitOneAndPump
для WPF. Цель состоит в том, чтобы дождаться ручки (аналогичноWaitHandle.WaitOne
) и закачивать события WPF Dispatcher во время ожидания в одном кадре стека.
Я действительно не думаю, что подобный API-интерфейс должен использоваться в любом рабочем коде, как для WinForms, так и для WPF. (возможно, к тому же для UI Automation). WPF не раскрывает явную версию WinFormsDoEvents
, что является очень хорошим дизайнерским решением, учитываясправедливая доля злоупотребленияDoEvents
API принимает.
Тем не менее, сам вопрос интересен, поэтому я возьму его в качестве упражнения и опубликую все, что мне придет в качестве ответа. Не стесняйтесь размещать свою собственную версию, если интересно.