Lorsque j'ai développé ma WPF application PC, j'ai utilisé le code suivant pour afficher mon image gif, comme je l'ai réalisé qu'il n'y a pas moyen facile de le faire: -affichage image gif
XAML:
<StackPanel Height="25" Name="stkProgressBar">
<wfi:WindowsFormsHost Background="Transparent" HorizontalAlignment="Center">
<winForms:PictureBox x:Name="pictureBoxLoading" Visible="False">
</winForms:PictureBox>
</wfi:WindowsFormsHost>
</StackPanel>
XAML.cs:
private void Page_Loaded(object sender, RoutedEventArgs e)
{
this.pictureBoxLoading.Image = Properties.Resources.progressbar;
}
maintenant, quand j'utilise la même approche pour afficher l'image dans mon application WPF Browser (XBAP), il ne se charge pas la page en raison de ce code XAML? Des idées pourquoi est-ce le cas et s'il y a un autre moyen d'afficher des GIF sur une page XBAP?
Merci, Abhi.
==================
Mis à jour à 11 27/07/2010: AM
Maintenant, j'ai essayé le code suivant: -
XAML:
<Image Name="Image1"></Image>
XAML.cs:
Stream imageStreamSource = new FileStream(@"C:\Inetpub\ExchangeRate\ExchangeRate\Image\progressbar.gif", FileMode.Open, FileAccess.Read, FileShare.Read);
GifBitmapDecoder decoder = new GifBitmapDecoder(imageStreamSource, BitmapCreateOptions.PreservePixelFormat, BitmapCacheOption.Default);
Int32Animation anim = new Int32Animation(0, decoder.Frames.Count - 1, new Duration(new TimeSpan(0, 0, 0, decoder.Frames.Count/10, (int)((decoder.Frames.Count/10.0 - decoder.Frames.Count/10) * 1000))));
anim.RepeatBehavior = RepeatBehavior.Forever;
BitmapSource bitmapSource = decoder.Frames[0];
Image1.Source = bitmapSource;
Image1.Stretch = Stretch.None;
L'image est correcte, mais elle n'est pas animée. J'apprécierais toute aide à cet égard.
Abhi.
Encore une information. La page ne donne pas d'erreur de compilation, mais lors de l'exécution de la page, il erreurs. –
http://efreedom.com/Question/1-210922/How-do-I-get-an-animated-gif-to-work-in-WPF – Ragunathan