В этом примере показан вариант отображения анимированного gif в приложении WPF (C#) при помощи PictureBox через элемент WindowsFormsHost. Способ не самый лучше, но как временное решение вполне сойдет.
Инструкции
Для использования элемента WindowsFormsHost необходимо подключить к проекту сборки WindowsBase.dll и WindowsFormsIntegration.dll, чтобы использовать элементы Windows Forms необходимо добавить в проект сборку System.Windows.Forms.dll.
Чтобы элементы Windows Forms были доступны, необходимо зарегистрировать их (в xaml): xmlns:Forms="clr-namesp ace:System.Windows.Forms;assem bly=System.Windows.Forms"
После чего элементы Windows Forms можно будет размещать на странице/формы/окне: <Forms:PictureBox x:Name="_loadingPictureBo x" />
Код
<Window x:Class="GifAnimationViaWindowsFormsHost.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:Forms="clr-namespace:System.Windows.Forms;assembly=System.Windows.Forms"
Title="MainWindow" Height="350" Width="525">
<Grid>
<Grid.Background>
<ImageBrush ImageSource="/GifAnimationViaWindowsFormsHost;component/Images/kbyte5x.png" Stretch="None" TileMode="FlipX" Viewport="0,0,233.304161611059,99.9874978333109" ViewportUnits="Absolute" />
</Grid.Background>
<WindowsFormsHost x:Name="_loadingHost" Width="128" Height="128" VerticalAlignment="Center" HorizontalAlignment="Center">
<Forms:PictureBox x:Name="_loadingPictureBox" SizeMode="StretchImage" Width="128" Height="128" />
</WindowsFormsHost>
</Grid>
</Window>
// код установки gif-а в PictureBox
public partial class MainWindow : Window
{
public MainWindow()
{
InitializeComponent();
// цепляем картинку
_loadingPictureBox.Image = Properties.Resources.loader;
// см. файл проекта ниже
}
}
Добавлять комментарии могут только зарегистрированные пользователи сайта.
Если у Вас уже есть учетная запись на Kbyte.Ru, пройдите процедуру авторизации.
Если Вы еще не зарегистрированы на Kbyte.Ru - зарегистрируйтесь.