在Metro App中显示动画GIF
是否有控件在Windows 8中的Windowsapp store(Metro)应用中显示动画gif? 我正在使用C#和XAML与数据绑定。
您无法在网格中显示动画gif。 但是,您可以在webview控制器中显示动画礼物。
只需注意:您可以使用BitmapDecoder类来读取GIF帧,创建一个动画故事板。
我在我的博客上有一个Windows 8用户控件的示例: http : //www.henrikbrinch.dk/Blog/2013/02/21/Windows-8—GIF-animations–the-RIGHT-way
我设法在我的windows 8 metro应用程序中显示gif,只需将GIF转换为jpegs然后运行无限循环即可。
代码如下:
public async void UpdateImage(){
await Task.Delay(300); var frame = this.Frame.CurrentSourcePageType.Name; if (frame != ("CURRENTFRAME")) return; if (count <= 4) { var img = (BitmapImage) Resources["bitmap" + count]; imgTap.Source = img; UpdateLayout(); count++; UpdateImage(); } else { count = 1; UpdateImage(); } }
所以基本上我将转换后的jpeg保存在我的page.resources中,然后将它们命名为bitmap1,bitmap2 ..等等。 我检查当前帧是否是必须显示gif的帧,否则gif代码将在后台运行整个时间,这会浪费内存和CPU。 只需在任何一个Loaded方法上调用此方法,它应该运行正常。
这可能有点过头了,但您可以尝试使用WebView来显示GIF。 然而,WebView控件引入了它自己的一系列令人头疼的问题,所以除非你愿意处理所说的头痛,否则我建议你避免使用它,除非你绝对不得不使用它。
如果我是对的,那么Silverlight不支持GIF,Metro应用程序基于Silverlight平台。 因此,本身不包含对GIF图像的支持。 但是,您可以使用第三方控件,如https://www.componentone.com/SuperProducts/ImageSilverlight/ 。
上述就是C#学习教程:在Metro App中显示动画GIF分享的全部内容,如果对大家有所用处且需要了解更多关于C#学习教程,希望大家多多关注---计算机技术网(www.ctvol.com)!
本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。
ctvol管理联系方式QQ:251552304
本文章地址:https://www.ctvol.com/cdevelopment/962423.html