MainPage.xaml需要很长时间才能加载

时间:2013-04-30 23:11:00

标签: c# windows-phone-7 windows-phone-8

我做了什么

        BackgroundWorker bg = new BackgroundWorker();
        bg.DoWork += new DoWorkEventHandler(DoWork);
        bg.RunWorkerCompleted += newRunWorkerCompletedEventHandler(bg_RunWorkerCompleted);
        bg.RunWorkerAsync(); 

       void DoWork(Object sender, DoWorkEventArgs args)
       {
       Dispatcher.BeginInvoke(delegate { InitializeComponent(); });
       }

问题是它稍好一些,但页面动画和页面加载之间有明显的负荷。

1 个答案:

答案 0 :(得分:0)

InitializeComponent()解析XAML并加载可视化树。延迟它直到后台工作者完成是一个令人难以置信的坏主意。您应该立即调用InitializeComponent,并在后台工作完成时显示空UI或加载进度条。你知道async / await模式吗?