C# WPF 将动画 gif 设置为背景

Posted

技术标签:

【中文标题】C# WPF 将动画 gif 设置为背景【英文标题】:C# WPF Set animated gif as background 【发布时间】:2020-12-13 20:51:30 【问题描述】:

我在一个 WPF 项目中遇到了 XAML 的问题,我想将动画 gif 作为整个程序窗口的背景。

我使用了一个名为 WpfAnimatedGif 的外部库,据我了解,它必须在 Image-element 中才能工作。我面临的问题是我无法将 Image-element 设置为窗口的背景。

我用 ImageBrush 元素将它设置为背景,如下所示:

<Grid.Background>
    <ImageBrush ImageSource="Resources/animated.gif"/>
</Grid.Background>

这个解决方案的问题是 gif 没有动画,所以它只是一个静态图像。对于 gif 动画,我让它与外部库一起使用,如下所示:

<Border>
    <Image gif:ImageBehavior.AnimatedSource="Resources\animated.gif"
           gif:ImageBehavior.AutoStart="True"
           gif:ImageBehavior.RepeatBehavior="1"/>
</Border>

由于我对 XAML 的了解有限,我不知道如何将动画 gif 设置为像第一个示例那样很好地适合程序窗口的背景。

有什么简单的解决办法吗?

【问题讨论】:

【参考方案1】:

带有图像的 VisualBrush 可能会起作用:

<Grid.Background>
    <VisualBrush>
        <VisualBrush.Visual>
            <Image gif:ImageBehavior.AnimatedSource="Resources\animated.gif"
                   gif:ImageBehavior.AutoStart="True"
                   gif:ImageBehavior.RepeatBehavior="1"/>
        </VisualBrush.Visual>
    </VisualBrush>
</Grid.Background>

【讨论】:

以上是关于C# WPF 将动画 gif 设置为背景的主要内容,如果未能解决你的问题,请参考以下文章

在 WPF 中使用情节提要为网格背景颜色设置动画

在wpf中,给button加上背景图片。点击button会不停的闪烁。求助高手!

使用两个图像为 iphone tableviewCell 背景图像设置动画

Wpf 动画背景颜色

QLabel 在 gif 上覆盖 png

以编程方式设置 WPF 背景不透明度