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

C# WPF Set animated gif as background

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

我使用了一个名为 WpfAnimatedGif 的外部库,据我所知,它必须在图像元素中才能工作。我面临的问题是我无法将图像元素设置为 window.

的背景

我使用 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 以很好地适应程序背景 window。

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

带有图像的 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>