C# 如何绘制异步图形以防止阻止其他UI操作?

C# 如何绘制异步图形以防止阻止其他UI操作?,c#,xaml,asynchronous,async-await,C#,Xaml,Asynchronous,Async Await,如何绘制异步图形以防止阻止其他UI操作? 此时,当draw事件处于活动状态时,我无法执行任何操作 抽签活动 private async void ca_Draw(Microsoft.Graphics.Canvas.UI.Xaml.ICanvasAnimatedControl sender, Microsoft.Graphics.Canvas.UI.Xaml.CanvasAnimatedDrawEventArgs args) { Draw(args.DrawingSession);

如何绘制异步图形以防止阻止其他UI操作? 此时,当draw事件处于活动状态时,我无法执行任何操作

抽签活动

 private async void ca_Draw(Microsoft.Graphics.Canvas.UI.Xaml.ICanvasAnimatedControl sender, Microsoft.Graphics.Canvas.UI.Xaml.CanvasAnimatedDrawEventArgs args)
 {
     Draw(args.DrawingSession); 
 }
这种方法画椭圆

public virtual void Draw(CanvasDrawingSession g)
{
     g.DrawEllipse(100, 100),10, 10, Color.FromArgb(255, 255, 255, 255));
}

您的
Draw
方法也需要异步运行。您需要在Dispatcher.BeginInvoke方法中运行Draw,该方法将异步执行它。我认为您不能,因为绘图需要在UI线程上运行。如果绘图阻塞了您的UI,可能意味着您绘图太多。