大佬教程收集整理的这篇文章主要介绍了windows-phone-7 – Windows Phone上的自定义动态磁贴渲染问题(7/8),大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我遇到的问题是,如果用户点击按钮然后快速点击手机的后退按钮,实时图块有时将无法正常呈现.这个问题很少发生,但确实发生了,当它发生时它看起来很糟糕……
我实现实时磁贴的方法是,创建一个与实时磁贴完全相同的用户控件,然后将其保存到隔离存储中.然后检索它并将其存储在FliptileData对象中.最后,我在SHellTile上调用update方法.请参阅以下@L_801_10@片段以演示该过程.
// the function that saves the user control to isolated storage public Uri SaveJpegToIsolatedStorage(FrameworkElement tile,String suffix,int tileWidth = 336,int tileHeight = 336) { var bmp = new WriteableBitmap(tileWidth,tileHeight); // Force the content to layout itself properly tile.Measure(new Size(tileWidth,tileHeight)); tile.Arrange(new Rect(0,tileWidth,tileHeight)); bmp.Render(tile,null); bmp.Invalidate(); // Obtain the virtual store for the application IsolatedStorageFile myStore = IsolatedStorageFile.GetUserStoreForApplication(); using (IsolatedStorageFileStream fileStream = new IsolatedStorageFileStream(IsolatedStorageFilename + suffix,FileMode.Create,myStorE)) { try { bmp.SaveJpeg(fileStream,tileHeight,100); } catch (Exception) { return null; } } return new Uri("isostore:/" + IsolatedStorageFilename + suffix,UriKind.AbsolutE); } // save the user control to isolated storage and prepare the FlipTileData object wideFrontTileImage = SaveJpegToIsolatedStorage((UserControl)this.WideFrontTile,"_wide_front",691); var flipTileData = new FlipTileData(); flipTileData.WideBACkgroundImage = wideFrontTileImage; return flipTileData; // update the live tile var sHellTile = SHellTile.ActiveTiles.FirstOrDefault(); sHellTile.update(customTile.GetFlipTileData(data.UndoneMemosCount == "0" && data.@R_204_10586@lMemosCount == "0"));
我认为造成这一切的原因是,当用户太快地单击“后退”按钮时,操作系统会终止应用程序中运行的所有进程,并且当时没有完成呈现.我在想是否有办法知道渲染何时完成,@R_157_9447@取消后退按钮并等到它完成然后手动退出应用程序.但我简直不知道如何……
任何有关这一方面的帮助将不胜感激!
以上是大佬教程为你收集整理的windows-phone-7 – Windows Phone上的自定义动态磁贴渲染问题(7/8)全部内容,希望文章能够帮你解决windows-phone-7 – Windows Phone上的自定义动态磁贴渲染问题(7/8)所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。