0

ユーザーにgifのループを表示する必要があるWin8アプリを作成しています。興味深いのは、これと同じデータテンプレートを使用して、pngやjpgを含むあらゆる種類の画像タイプを表示していることです。

これを行うコントロールはありますか?そうでない場合、この機能を実現するための推奨される方法は何ですか?

助けてくれてありがとう!

4

1 に答える 1

1

アニメーション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>
于 2012-10-21T20:22:37.657 に答える