Mar*_*arc 4 .net c# wpf performance animation
在WPF 4应用程序中,我有一个非常大的用户控件,充满了控件,需要4s才能在快速机器上初始化.在此期间,应用程序当然根本没有响应.
在初始化此控件时,有没有办法在主窗口中显示动画?
我知道我不能在另一个线程上创建它.但是,是否有一种方法可以从调度程序中以较低的优先级创建它,以便我可以在主窗口上显示仍然旋转的旋转轮等?
(我现在能想到的唯一解决方案是将用户控制分解为更多部分并仅在需要时加载它们.但这需要花费大量的开发时间来改变.)
Update1
更清楚:它是一个使用标签页的简单WPF窗口.打开新标签页时,我正在初始化用户控件,该控件保存此标签页的控件.其中一个用户控件是如此充满控件,需要4秒才会显示新标签页.
因此我认为展示一个旋转轮比使用一个被阻止的应用程序更好.
我认为你将不得不将这个用户控件分解成碎片.您可以使用BackgroundWorker来协调此用户控件的"构建".每次触发DoWork事件时,使用Dispatcher.BeginInvoke创建向UI添加下一个控件.以下博客文章中描述了此技术:
http://loekvandenouweland.com/index.php/2010/12/wp7-add-user-controls-graphics-in-background-thread/
这将允许您在加载过程中显示动画.