diff --git a/src/Avalonia.Base/Animation/Animation.cs b/src/Avalonia.Base/Animation/Animation.cs index 7e139c5ae6..a74e0011c6 100644 --- a/src/Avalonia.Base/Animation/Animation.cs +++ b/src/Avalonia.Base/Animation/Animation.cs @@ -7,6 +7,7 @@ using System.Threading.Tasks; using Avalonia.Animation.Easings; using Avalonia.Data; using Avalonia.Metadata; +using Avalonia.Threading; namespace Avalonia.Animation { @@ -310,7 +311,7 @@ namespace Avalonia.Animation Task.WhenAll(completionTasks!) .ContinueWith((_, state) => ((Action)state!).Invoke() , onComplete - , TaskScheduler.FromCurrentSynchronizationContext() + , DispatcherTaskScheduler.UIThread ); } } diff --git a/src/Avalonia.Base/Data/Core/Plugins/TaskStreamPlugin.cs b/src/Avalonia.Base/Data/Core/Plugins/TaskStreamPlugin.cs index 56a7fcefe4..690ee4d5ff 100644 --- a/src/Avalonia.Base/Data/Core/Plugins/TaskStreamPlugin.cs +++ b/src/Avalonia.Base/Data/Core/Plugins/TaskStreamPlugin.cs @@ -3,6 +3,7 @@ using System.Diagnostics.CodeAnalysis; using System.Reflection; using System.Threading.Tasks; using Avalonia.Reactive; +using Avalonia.Threading; namespace Avalonia.Data.Core.Plugins { @@ -51,7 +52,7 @@ namespace Avalonia.Data.Core.Plugins var subject = new LightweightSubject(); task.ContinueWith( x => HandleCompleted(task).Subscribe(subject), - TaskScheduler.FromCurrentSynchronizationContext()) + DispatcherTaskScheduler.UIThread) .ConfigureAwait(false); return subject; } diff --git a/src/Avalonia.Base/Data/Core/Plugins/TaskStreamPlugin`1.cs b/src/Avalonia.Base/Data/Core/Plugins/TaskStreamPlugin`1.cs index 2746494b1e..5b814c76b6 100644 --- a/src/Avalonia.Base/Data/Core/Plugins/TaskStreamPlugin`1.cs +++ b/src/Avalonia.Base/Data/Core/Plugins/TaskStreamPlugin`1.cs @@ -1,6 +1,7 @@ using System; using System.Threading.Tasks; using Avalonia.Reactive; +using Avalonia.Threading; namespace Avalonia.Data.Core.Plugins; @@ -27,7 +28,7 @@ internal class TaskStreamPlugin : IStreamPlugin var subject = new LightweightSubject(); task.ContinueWith( _ => HandleCompleted(task).Subscribe(subject), - TaskScheduler.FromCurrentSynchronizationContext()) + DispatcherTaskScheduler.UIThread) .ConfigureAwait(false); return subject; } diff --git a/src/Avalonia.Controls/TransitioningContentControl.cs b/src/Avalonia.Controls/TransitioningContentControl.cs index f6dc060a1b..3c39a310e2 100644 --- a/src/Avalonia.Controls/TransitioningContentControl.cs +++ b/src/Avalonia.Controls/TransitioningContentControl.cs @@ -5,6 +5,7 @@ using Avalonia.Animation; using Avalonia.Controls.Presenters; using Avalonia.Controls.Templates; using Avalonia.Interactivity; +using Avalonia.Threading; namespace Avalonia.Controls; @@ -103,7 +104,7 @@ public class TransitioningContentControl : ContentControl { HideOldPresenter(); } - }, TaskScheduler.FromCurrentSynchronizationContext()); + }, DispatcherTaskScheduler.UIThread); } _shouldAnimate = false; diff --git a/src/Avalonia.Controls/VirtualizingCarouselPanel.cs b/src/Avalonia.Controls/VirtualizingCarouselPanel.cs index 8b67f01fb1..01b5371190 100644 --- a/src/Avalonia.Controls/VirtualizingCarouselPanel.cs +++ b/src/Avalonia.Controls/VirtualizingCarouselPanel.cs @@ -7,6 +7,7 @@ using System.Threading.Tasks; using Avalonia.Animation; using Avalonia.Controls.Primitives; using Avalonia.Input; +using Avalonia.Threading; namespace Avalonia.Controls { @@ -167,7 +168,7 @@ namespace Avalonia.Controls } transition.Start(_transitionFrom, to, forward, _transition.Token) - .ContinueWith(TransitionFinished, TaskScheduler.FromCurrentSynchronizationContext()); + .ContinueWith(TransitionFinished, DispatcherTaskScheduler.UIThread); } return result; diff --git a/src/Markup/Avalonia.Markup.Xaml/MarkupExtensions/CompiledBindings/TaskStreamPlugin.cs b/src/Markup/Avalonia.Markup.Xaml/MarkupExtensions/CompiledBindings/TaskStreamPlugin.cs index 34e4a730c1..6962b7f838 100644 --- a/src/Markup/Avalonia.Markup.Xaml/MarkupExtensions/CompiledBindings/TaskStreamPlugin.cs +++ b/src/Markup/Avalonia.Markup.Xaml/MarkupExtensions/CompiledBindings/TaskStreamPlugin.cs @@ -3,6 +3,7 @@ using System.Threading.Tasks; using Avalonia.Data; using Avalonia.Data.Core.Plugins; using Avalonia.Reactive; +using Avalonia.Threading; namespace Avalonia.Markup.Xaml.MarkupExtensions.CompiledBindings { @@ -29,7 +30,7 @@ namespace Avalonia.Markup.Xaml.MarkupExtensions.CompiledBindings var subject = new LightweightSubject(); task.ContinueWith( _ => HandleCompleted(task).Subscribe(subject), - TaskScheduler.FromCurrentSynchronizationContext()) + DispatcherTaskScheduler.UIThread) .ConfigureAwait(false); return subject; }