C# 运行时WPF动画GIF源更改。。但在源代码更改方面保持不变

C# 运行时WPF动画GIF源更改。。但在源代码更改方面保持不变,c#,wpf,image,animation,C#,Wpf,Image,Animation,嗨,伙计们,请帮忙。。。 我到底想做的是。。在运行时更改动画GIF图像源。 然而,图像变化正在发生,但当图像设置动画时,它会以某种方式变暗,这可能是线程忙 这是密码 var image = new BitmapImage(); image.BeginInit(); image.UriSource = new Uri(@"/BackgroundWorkerWpf;component/Media/p1.gif", UriKind.Relative); image.EndInit(); ImageBe

嗨,伙计们,请帮忙。。。 我到底想做的是。。在运行时更改动画GIF图像源。 然而,图像变化正在发生,但当图像设置动画时,它会以某种方式变暗,这可能是线程忙

这是密码

var image = new BitmapImage();
image.BeginInit();
image.UriSource = new Uri(@"/BackgroundWorkerWpf;component/Media/p1.gif", UriKind.Relative);
image.EndInit();
ImageBehavior.SetAnimatedSource(img, image);
根据需要更改图像源,但图像保持静态,就像原始GIF图像的快照一样。提前感谢:)


PS:我正在使用来自

的引用库,在您更改属性动画源之后,您应该调用
ImageBehavior.SetRepeatBehavior
方法

请尝试以下代码:

var image = new BitmapImage();
image.BeginInit();
image.UriSource = new Uri(@"/BackgroundWorkerWpf;component/Media/p1.gif", UriKind.Relative);
image.EndInit();
ImageBehavior.SetAnimatedSource(img, image);
ImageBehavior.SetRepeatBehavior(img, new RepeatBehavior(0));
ImageBehavior.SetRepeatBehavior(img, RepeatBehavior.Forever);

这在第二时间(即运行时)运行良好。。。但是当我第三次再次更改源代码时,它会再次冻结或保持静态,具体来说,我也使用了repeatbehavior来更改第三个源代码。@IteratioN07这里的回答有点晚,但我今天遇到了同样的问题。我找到的解决方案是在以后更改源代码时将重复行为更改为“永远”——因此
setRepeatBehavior(img,new RepeatBehavior(0))
然后是
setRepeatBehavior(img,RepeatBehavior.Forever)
嘿,我使用了上述方法,但它对我不起作用,我想知道为什么<代码>变量图像=新位图图像();image.BeginInit();image.UriSource=新Uri(@“Assets/gif load.gif”,UriKind.Relative);image.EndInit();设置动画源(imgInternet,image);SetRepeatBehavior(imgInternet,新的RepeatBehavior(0));SetRepeatBehavior(imgInternet,RepeatBehavior.Forever)@sohaiby查看此项目: