最近有一个项目需要加载大量的控件,导致系统出现卡顿问题,经过几天的努力,终于搞定了,写一下备忘。
解决方案是首次加载时只显示可见区域控件,之后使用辅助线程进行分批加载,将分批加载的线程优先级别设置为空闲时进行,这样在用户操作时就不会出现因加载线程导致的卡顿现象了。
1 Dispatcher.Invoke(new Action(()=>{ 2 //分批加载控件的方法 3 }),System.Windows.Threading.DispatcherPriority.ApplicationIdle);
特此备忘。