【问题标题】:Animated gif doesn't work when application runs应用程序运行时动画 gif 不起作用
【发布时间】:2013-08-05 17:47:49
【问题描述】:

我从 codeplex 下载了 WPFAnimatedGiff.dll。这就是问题所在: 我正在尝试在选项卡项中实现 gif。 giff实际上是一个圆形进度条,所以我试图模拟类似于google chrome进度条的选项卡项的加载过程。我插入了图像,它在设计器中可见,但是当我运行我的应用程序时它没有显示出来。此外,当我在网格中的其他位置插入图像时,它确实会显示出来。 代码如下:

<Window x:Class="WPFHotel.MainWindow"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:local="clr-namespace:WPFHotel"
    xmlns:data="clr-namespace:WPFHotel.Database"
    xmlns:sys="clr-namespace:System;assembly=mscorlib"
    xmlns:gif="http://wpfanimatedgif.codeplex.com" />


 <TabItem Tag="PB1" Header="Rezervacije" Name="Reservations" BorderBrush="Black" FontFamily="Times New Roman" FontWeight="Bold" FontSize="14">
            <TabItem.HeaderTemplate>
                <DataTemplate>
                    <StackPanel Orientation="Horizontal">                            
                        <TextBlock Text="Rezervacije" Margin="5,2,0,0" />
                        <Image gif:ImageBehavior.AnimatedSource="Images/468.gif" Stretch="None" />                           

                    </StackPanel>                        
                </DataTemplate>
            </TabItem.HeaderTemplate>
</TabItem>

试图用谷歌搜索解决方案,但找不到任何有用的东西,所以我希望有人能在这里帮助我。 编辑: 顺便提一下,当我这样插入图片时:

<Image Source="Images/CircleBar.gif" />

当应用程序运行但没有旋转/动画时显示。

【问题讨论】:

  • 属性窗格中图像的build action 是什么?将其设置为Resource
  • 设置为资源。
  • 试过你的代码,对我来说效果很好。确保您的图片名称正确且位于 Images 文件夹中
  • 我查过了,一切正常。在设计器中,图像就在选项卡项标题旁边的位置,但是当我运行应用程序时,图像应该在的地方只有空白。我也将可见性设置为可见,但效果相同。最让我困惑的是,当我把它放在标签项之外时,它会显示图像。

标签: c# wpf animated-gif


【解决方案1】:

有两种解决方案

  1. 创建一个 UserControl 并在 StackPanel 的任何网格中添加 XAML
  2. 设计一个WindowsForm,在其上添加动画控件,然后在WPF代码中调用它,但是要记住你必须设置那个动画控件的两个属性,一个是它的StartPosition和另一个 TopMOST = 真

【讨论】:

    【解决方案2】:

    您可以考虑为此使用另一个控件

    http://huydinhpham.blogspot.com/2011/07/wpf-loading-panel.html

    这是一个代码http://sites.google.com/site/huyphamproject/Home/LoadingPanelSample.zip

    请注意,您可以根据需要对其进行简化。

    我希望这将帮助您摆脱 WPF 中的 GIF。

    【讨论】:

    • 好吧,我想避免使用其他控件,而只是使用 gif 使其变得简单。无论如何感谢您的链接。
    【解决方案3】:

    您可以只拍摄 gif 中的所有照片,然后让这些照片分别闪现。这可能需要一些时间,但它是一种不需要太多编码知识的万无一失的方法。

    【讨论】:

    • 谢谢你的建议,我试试看。
    猜你喜欢
    • 2021-02-20
    • 1970-01-01
    • 2018-09-13
    • 2017-06-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-08-28
    • 1970-01-01
    相关资源
    最近更新 更多