protected static void InvokeOnUIThread(Action <CancellationToken> action) { using var cancellationTokenSource = new CancellationTokenSource(Helper.HangMitigatingTimeout); #pragma warning disable VSTHRD001 // Avoid legacy thread switching APIs CurrentApplicationDispatcher.Invoke(() => action(cancellationTokenSource.Token), DispatcherPriority.Background, cancellationToken: cancellationTokenSource.Token); #pragma warning restore VSTHRD001 // Avoid legacy thread switching APIs }
#pragma warning restore VSTHRD001 // Avoid legacy thread switching APIs protected static void WaitForSystemIdle() #pragma warning disable VSTHRD001 // Avoid legacy thread switching APIs => CurrentApplicationDispatcher.Invoke(() => { }, DispatcherPriority.SystemIdle);
public static T InvokeOnUIThread <T>(Func <T> action) => CurrentApplicationDispatcher.Invoke(action);
public static void InvokeOnUIThread(Action action) => CurrentApplicationDispatcher.Invoke(action);
public static void WaitForApplicationIdle() => CurrentApplicationDispatcher.Invoke(() => { }, DispatcherPriority.ApplicationIdle);
#pragma warning restore VSTHRD001 // Avoid legacy thread switching APIs protected static T InvokeOnUIThread <T>(Func <T> action) #pragma warning disable VSTHRD001 // Avoid legacy thread switching APIs => CurrentApplicationDispatcher.Invoke(action, DispatcherPriority.Background);