C# 如何绘制异步图形以防止阻止其他UI操作?
如何绘制异步图形以防止阻止其他UI操作? 此时,当draw事件处于活动状态时,我无法执行任何操作 抽签活动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);
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,可能意味着您绘图太多。