jay*_*t55 3 .net c# xaml windows-phone-7 windows-phone-8
我有一个我正在努力的应用程序.我需要启动画面显示至少1秒钟(最好是3秒钟) - 只需要足够长的时间让你能够瞥见整个启动画面并能够阅读标题(舒适,不必在它消失之前尽力抓住它).
我已经在MSDN上的Windows Phone 8上阅读了关于Splashscreens的文档,它说:
通常情况下,只有当您的应用加载异常缓慢或者您想为应用添加其他品牌时,才应在应用中使用启动画面.如果您决定在应用中使用闪屏,则有两种选择.
我的应用程序不是那种应用程序,用户需要快速,快速做一些事情,然后离开应用程序 - 所以没有什么需要匆忙.
所以,我成功地让闪屏出现了.但是,问题是应用程序加载太快,您无法注意到闪屏.
如何以编程方式使启动画面显示一两秒钟?你能设定时间吗?你可以让它保持更长时间吗?
在加载应用程序时会显示启动画面,因此时间取决于代码的复杂程度.您可以使用闪屏创建XAML页面,将其设置为入口点,等待所需时间,然后重定向到主页面.
要使用(Thread.sleep代码)的解决方案是不是一个很好的解决方案,应该只对应用使用你不会放于Windows应用商店.微软的官方解决方案是使用XAML页面作为初始屏幕(由polymorphin发布).之前我使用过xaml页面解决方案,这比阻止UI线程有两个原因:
在之前的项目中,我必须显示启动画面3秒钟(它是一个GIF动画),在此期间我能够与服务器建立连接并使用类似于此的代码启动地理定位服务:例如
List<Task> tasks=new List<Task>();
tasks.Add(Task.Delay(3000)); // time used by splash screen
tasks.Add(MyComponent1.DoWorkAsync());
tasks.Add(MyComponent2.DoWorkAsync());
await Task.WhenAll(tasks); //wait for all the task to complete
Run Code Online (Sandbox Code Playgroud)