public Task <T> RunAsync <T>(IUIDispatcherPriority priority, Func <T> callback) { CoreDispatcherPriority dispatcherPriority = ConvertIUIDispatcherPriorityToCoreDispatcherPriority(priority); TaskCompletionSource <T> taskCompletionSource = new TaskCompletionSource <T>(); return(RunWithTaskCompletionSource(callback, taskCompletionSource)); }
public Task RunAsync(IUIDispatcherPriority priority, Action callback) { CoreDispatcherPriority dispatcherPriority = ConvertIUIDispatcherPriorityToCoreDispatcherPriority(priority); return(dispatcher.RunAsync(dispatcherPriority, new Windows.UI.Core.DispatchedHandler(callback)).AsTask()); }
private CoreDispatcherPriority ConvertIUIDispatcherPriorityToCoreDispatcherPriority(IUIDispatcherPriority priority) { CoreDispatcherPriority dispatcherPriority = CoreDispatcherPriority.Normal; switch (priority) { case IUIDispatcherPriority.Normal: dispatcherPriority = CoreDispatcherPriority.Normal; break; case IUIDispatcherPriority.High: dispatcherPriority = CoreDispatcherPriority.High; break; case IUIDispatcherPriority.Low: dispatcherPriority = CoreDispatcherPriority.Low; break; } return(dispatcherPriority); }
public async Task YieldAsync(IUIDispatcherPriority priority) { CoreDispatcherPriority dispatcherPriority = ConvertIUIDispatcherPriorityToCoreDispatcherPriority(priority); await dispatcher.Yield(dispatcherPriority); }