Привет, ребята! Многим, наверно, неудобно обращаться к Dispatcher каждый раз, когда нужно обновить контрол с не UI-потока в WPF… в общем, меня это конкретно достало, поэтому написал очень простенький extension-метод, которым и хочу поделиться с вами всеми:
Работает вот так:
static class exMethods
{
async public static void ThreadSafeUpdate(this System.Windows.Controls.Control @this, Action updateLogic)
{
await @this.Dispatcher.BeginInvoke(updateLogic);
}
}
Работает вот так:
this.ThreadSafeUpdate(() => this.Visibility = Visibility.Hidden);