我正在创建一个Win 8应用程序,我需要向用户显示gif循环。有趣的是,我使用相同的数据模板来显示各种图像类型,包括png和jpg。
是否有控件会这样做?如果没有,推荐的实现此功能的方法是什么?
感谢您的帮助!
答案 0 :(得分:1)
在动画gif中查看动画的一种方法是在WebView元素中渲染gif。
将gif添加到项目中并标记为Content。然后将WebView的源设置为gif
<Grid >
<WebView Source='ms-appx-web:///Assets/spiral.gif'>
</WebView>
</Grid>
注意:Webview通过IE 10呈现内容,并且它不像其他元素那样具有交互性。有关详细信息,请参阅this MSDN article。
修改强>:
这是绑定到集合的一种方法。
class GifCollection : ObservableCollection<Uri> {
}
// in the view
protected override void OnNavigatedTo(NavigationEventArgs e)
{
var gifs = new GifCollection();
gifs.Add(new Uri("http://i.imgur.com/eoNiq.gif"));
gifs.Add(new Uri("ms-appx-web:///Assets/spiral.gif"));
this.DataContext = gifs;
}
XAML中的datatemplate
<ListBox ItemsSource='{Binding}'>
<ListBox.ItemTemplate>
<DataTemplate>
<StackPanel>
<!-- set the width, height, otherwise the WebView
is not visible in the datatemplate -->
<WebView Source='{Binding }'
Width='450'
Height='450'>
</WebView>
</StackPanel>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>