【发布时间】:2016-04-08 18:02:58
【问题描述】:
我在我的程序中使用How do I get an animated gif to work in WPF?。
最初在 XAML 中,我设置了 Visibility="Hidden" 和
当我想要显示图像时使用animateImage.Visibility = Visibility.Visible;。
显示图像后,我运行一个进程。但是,一旦该过程开始,动画就会暂停。 我想知道它为什么要这样做?
我正在考虑创建一个新线程并在线程中运行 GIF,并在处理完成后关闭线程。
编辑
我正在运行的进程的代码。我希望在 GPUpdate 期间播放动画。
ExecProc("gpupdate", "/force");
private static bool ExecProc(string file, string arg)
{
bool flag = true;
try
{
//Create a new process info structure.
ProcessStartInfo pInfo = new ProcessStartInfo();
pInfo.FileName = file;
pInfo.CreateNoWindow = true;
pInfo.Arguments = arg;
pInfo.WindowStyle = ProcessWindowStyle.Hidden;
Process ps = new Process();
ps.StartInfo = pInfo;
ps.Start();
//Wait for the process to end.
ps.WaitForExit();
}
catch (Exception e)
{
writeLog("Error: " + e + " running " + file + " " + arg);
flag = false;
}
return flag;
}
【问题讨论】:
-
您需要发布更多代码。很可能您的进程阻塞了 UI 线程并阻止 GIF 播放,但您没有提供足够的细节来确定。
-
@WasGoodDone 所有代码都是问题中的链接。我所做的只是让它在我的程序中隐藏或可见的属性。除了上述代码之外,您还指的是哪些其他代码?谢谢
-
你说“我运行一个进程”。您对此过程的逻辑与您遇到的问题相关,因此将该代码作为您问题的一部分会很有帮助。 stackoverflow.com/help/how-to-ask
-
@WasGoodDone 我更新了问题。
标签: wpf multithreading xaml gif animated-gif