ユーザーにgifのループを表示する必要があるWin8アプリを作成しています。興味深いのは、これと同じデータテンプレートを使用して、pngやjpgを含むあらゆる種類の画像タイプを表示していることです。
これを行うコントロールはありますか?そうでない場合、この機能を実現するための推奨される方法は何ですか?
助けてくれてありがとう!
ユーザーにgifのループを表示する必要があるWin8アプリを作成しています。興味深いのは、これと同じデータテンプレートを使用して、pngやjpgを含むあらゆる種類の画像タイプを表示していることです。
これを行うコントロールはありますか?そうでない場合、この機能を実現するための推奨される方法は何ですか?
助けてくれてありがとう!
アニメーションGIFでアニメーションを表示する1つの方法は、WebView要素内にgifをレンダリングすることです。
プロジェクトにgifを追加し、コンテンツとしてマークします。次に、WebViewのソースをgifに設定します
<Grid >
<WebView Source='ms-appx-web:///Assets/spiral.gif'>
</WebView>
</Grid>
注:WebviewはIE 10を介してコンテンツをレンダリングし、他の要素ほどインタラクティブではありません。詳細については、このMSDNの記事を参照してください。
編集:
コレクションにバインドする1つの方法は次のとおりです。
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のデータテンプレート
<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>