Как ждать WaitHandle при обслуживании событий WPF Dispatcher?

Кто-то написал мне по электронной почте и спросил, есть ли у меня версияWaitOneAndPump для WPF. Цель состоит в том, чтобы дождаться ручки (аналогичноWaitHandle.WaitOne) и закачивать события WPF Dispatcher во время ожидания в одном кадре стека.

Я действительно не думаю, что подобный API-интерфейс должен использоваться в любом рабочем коде, как для WinForms, так и для WPF. (возможно, к тому же для UI Automation). WPF не раскрывает явную версию WinFormsDoEvents, что является очень хорошим дизайнерским решением, учитываясправедливая доля злоупотребленияDoEvents API принимает.

Тем не менее, сам вопрос интересен, поэтому я возьму его в качестве упражнения и опубликую все, что мне придет в качестве ответа. Не стесняйтесь размещать свою собственную версию, если интересно.

Ответы на вопрос(2)

Ваш ответ на вопрос