Ejemplo n.º 1
0
        public Task <T> RunAsync <T>(IUIDispatcherPriority priority, Func <T> callback)
        {
            CoreDispatcherPriority dispatcherPriority = ConvertIUIDispatcherPriorityToCoreDispatcherPriority(priority);

            TaskCompletionSource <T> taskCompletionSource = new TaskCompletionSource <T>();

            return(RunWithTaskCompletionSource(callback, taskCompletionSource));
        }
Ejemplo n.º 2
0
        public Task RunAsync(IUIDispatcherPriority priority, Action callback)
        {
            CoreDispatcherPriority dispatcherPriority = ConvertIUIDispatcherPriorityToCoreDispatcherPriority(priority);

            return(dispatcher.RunAsync(dispatcherPriority, new Windows.UI.Core.DispatchedHandler(callback)).AsTask());
        }
Ejemplo n.º 3
0
        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);
        }
Ejemplo n.º 4
0
        public async Task YieldAsync(IUIDispatcherPriority priority)
        {
            CoreDispatcherPriority dispatcherPriority = ConvertIUIDispatcherPriorityToCoreDispatcherPriority(priority);

            await dispatcher.Yield(dispatcherPriority);
        }