WPF中加载GIF

WPF中使用GIF的方式:

wpf中是不支持直接使用image来存放gif图的。


第一种:使用XamlAnimatedGif

1,打开Nuget,搜索XamlAnimatedGif,如果使用.NET5,则安装KsWare.XamlAnimatedGif.Wpf.StrongName,如下图所示。
2,前台页面添加命名空间

xmlns:gif="https://github.com/XamlAnimatedGif/XamlAnimatedGif"

3,使用Image控件,为其设置附加属性

<Image Grid.Row="1" gif:AnimationBehavior.SourceUri="Image/faceLogin.gif"  Width="400"     gif:AnimationBehavior.RepeatBehavior="Forever"

===================

4,注:一般的gif都能正常使用,但如果gif图过大,则会出现卡顿现象,可以试试第二种方式,使用LottieSharp,但gif图必须转成 json格式

第二种:使用LottieSharp

1,打开Nuget,搜索LottieSharp,安装入下图所示。
WPF中加载GIF_第1张图片2,前台页面添加命名空间

 xmlns:lottieSharp="clr-namespace:LottieSharp;assembly=LottieSharp" 

3,使用lottieSharp控件,为其设置附加属性

<Grid Grid.Row="1">
                <lottieSharp:LottieAnimationView 
                x:Name="LottieAnimationView" 
                DefaultCacheStrategy="None" 
                AutoPlay="True" 
                VerticalAlignment="Center" 
                HorizontalAlignment="Center">
                </lottieSharp:LottieAnimationView>
            </Grid>

4,后台初始化时,指定资源

 var path = System.IO.Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "faceLogin.json");
            LottieAnimationView.PauseAnimation();
            LottieAnimationView.FileName = path;
            LottieAnimationView.PlayAnimation();

5,附一个json文件
pic.json

你可能感兴趣的:(wpf,gif,动画)