0
我正在我的wpf应用程序中创建一个sartup动画屏幕。我想在这个动画中做一些工作。这个怎么做 ?那时候我想做些粘性的东西?这样我的应用程序在该动画之后运行得更快。在启动动画过程中完成一些工作。 WPF
我该怎么做?
我正在我的wpf应用程序中创建一个sartup动画屏幕。我想在这个动画中做一些工作。这个怎么做 ?那时候我想做些粘性的东西?这样我的应用程序在该动画之后运行得更快。在启动动画过程中完成一些工作。 WPF
我该怎么做?
如果你是在谈论有关“黏糊糊的东西”,比如加载一些数据非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暂停,无论它们是否可观察。
你应该看看'VisualStateManager'。它允许您定义一个状态,包括进入和退出动画以及在状态中播放的动画。你可以使用布尔值来触发状态。 http://blogs.msdn.com/b/wpfsdk/archive/2009/02/27/the-visualstatemanager-and-triggers.aspx – Gusdor