Пример Zamboni очень хороший, но все еще не решает проблему замороженного графического интерфейса пользователя .
Как уже упоминалось, в настоящее время не существует простого способа получить что-то «живое» для обновленияуправление графическим интерфейсом, в то время как графический интерфейс занят рендерингом.
В настоящее время я нашел какое-то событие, которое «живое и здоровое» , в то время как графический интерфейс рендеринга, хотя его следует отключать, когда он не нужен, как можетзапускать что-то вроде 60 раз в секунду.
CompositionTarget.Rendering += ReportRenderProgress;
Затем вы можете реализовать ReportRenderProgress()
так, как вам нравится, чтобы сигнализировать о том, что индикатор выполнения обновляется.В настоящее время я не вижу лучшего решения, доступного в WPF для обновления индикации прогресса при рендеринге, поэтому я отмечаю это как ответ.