wpf中是不支持直接使用image来存放gif图的。
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格式
1,打开Nuget,搜索LottieSharp,安装入下图所示。
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