Хабр Курсы для всех
РЕКЛАМА
Практикум, Хекслет, SkyPro, авторские курсы — собрали всех и попросили скидки. Осталось выбрать!
Dispatcher.CurrentDispatcher.Invoke(() => UIBlocked());
_lastForegroundTimerTickTime = DateTime.Now;_stopwatch = Stopwatch.StartNew();var totalMilliseconds = (DateTime.Now - _lastForegroundTimerTickTime).TotalMilliseconds;var totalMilliseconds = _stopwatch.ElapsedMilliseconds;Stopwatch'ем.DateTime.Stopwatch с наносекундной точностью, когда как DispatcherTimer, использующийся в статье, имеет погрешность в 10мс минимум.Dispatcher.CurrentDispatcher.Invoke(() => UIBlocked());
WPF разрешает создавать несколько UI тредов. Делается это так:
Детектор блокировок UI в WPF c нотификацией