在启动动画期间做了一些工作.可湿性工作基金会



我正在我的wpf应用程序中制作sartup动画屏幕。我想在那个动画中做一些工作。怎么做?我想在这段时间里做一些棘手的事情?以便我的应用程序在该动画之后运行得更快。

我该怎么做?

如果您谈论的是与UI无关的"粘性内容",例如加载一些数据,则可以将繁重的工作卸载到后台线程中,例如:

// Start playing loading animation (you can use visual state like Gusdor suggested)
Task.Factory.StartNew(()=>
{
    // Do heavy work here.
}.ContinueWith(task => 
{
    // Stop loading animation here
}, TaskScheduler.FromCurrentSynchronizationContext());

如果您的繁重工作涉及 UI 活动,我建议您在停止ContinueWith块中的加载动画之前立即执行此操作。遗憾的是,UI 活动只能在 UI 线程上完成,因此无论您在 ContinueWith 块中执行什么操作都会导致一定程度的 UI 暂停,无论它们是否可观察到。

相关内容

  • 没有找到相关文章

最新更新