2012-06-25 30 views
0

我正在尝试解决AdMob控件在我的游戏中出现的一些问题,并且该控件需要一些时间来加载(它劫持UI线程长达1秒)。是否可以加载控件一次,然后将它存储在某个地方并将其附加到随后页面的可视化树中?wp7 - 是否可以在页面之间加载用户控件?

或者这不能完成,我必须找到其他方法吗?

回答

0

是的,你可以。您需要在该页面上保存该控件的状态。

Please refer this MSDN Documentation for states of windows phone 7

我希望你可以从这个

更新更好的想法====

Deployment.Current.Dispatcher.BeginInvoke(new System.Action(delegate() 
      { 
       // Load Your Control Here 
      })); 

它不会冻结您的UI

+0

不,问题在于,Google AdMob控件需要一些时间来加载(并冻结整个页面),所以我想将它加载到某处然后将其插入目标页面。控制状态不会有帮助,因为它会再次冻结页面。 – Axarydax

+0

请参阅我的更新回答 –

+0

根据文档 - http://msdn.microsoft.com/en-us/library/system.windows.threading.dispatcher.begininvoke.aspx - 调度程序在UI线程上工作,所以它应该没有什么区别,但我会尝试 – Axarydax

0

您可以简单地添加控件页面运行时:

this.LayoutRoot.Children.Add(control) 

如果您静态地定义您的控件,则可以从OnNavigatingFrom事件中的当前页面中将其删除,然后将其加载到下一页面或类似的内容上,以防止多个父母崩溃。

相关问题