C# 并非所有图表都显示在我的WPF应用程序中,但添加消息框可以解决问题

C# 并非所有图表都显示在我的WPF应用程序中,但添加消息框可以解决问题,c#,wpf,C#,Wpf,在我的WPF应用程序中,我有一个从文本文件中提取数据的循环。在此基础上,显示数据图表,然后截图 伪代码: Loop Start data = extractdata(); if some condition in data showchart(); takescreenshot(); end if Loop End 当我运行实际代码时,并不是所有的图表都显示出来。屏幕保持空白-屏幕上只显示最后一个 但是,

在我的WPF应用程序中,我有一个从文本文件中提取数据的循环。在此基础上,显示数据图表,然后截图

伪代码:

Loop Start
    data = extractdata();    
     if some condition in data           
        showchart();
        takescreenshot();
     end if
Loop End
当我运行实际代码时,并不是所有的图表都显示出来。屏幕保持空白-屏幕上只显示最后一个

但是,当我在代码中添加一个消息框时,一切都会像下面的伪代码所示那样完美地工作:

Loop Start
     data = extractdata();   
       if some condition in data        
          showchart();
          MessageBox.Show("Hello") // Addition of this line solves all problem           
          takescreenshot();
       end if
   Loop End
showchart()
takescreenshot()
都调用不同类中的其他函数

上面这一行的加入只是一个临时解决方案,表明我的背景代码工作正常。我猜:问题出在其他方面,比如WPF窗口的焦点或者其他方面


我能做什么?我不能发布源代码,因为它非常冗长,并且被分成许多文件

假设您的
图表
已经有一个
图像
在
内容控件
图像
中显示到屏幕

使用
System.Drawing.save
方法


您甚至可以提供图像格式和更详细的编解码器信息。

尝试刷新图片。请参见:您是按顺序显示一个图表,还是同时显示多个图表?我怀疑你的图表在你看到它之前被覆盖了。实际上,这个应用程序不是用来显示图表的,而是用来一次一个接一个地拍摄图表的屏幕截图。这些截图保存为jpg格式,在应用程序的其他部分会有一些用处。这里需要一些代码来帮助您。请提供一些展示图(该部分显示一个窗口)和屏幕截图代码(错误也可能存在)。为什么不创建一个图像并将其保存到文件中?如果showchart()和screenshot()的背景代码中出现问题,则它们无法通过messagebox解决,问题是其他一些东西,这些代码在我的应用程序的其他部分工作得很好,我的屏幕截图功能也在做你建议的一样,它是创建wpf窗口的图像并将其保存到文件中,但正如我所知,要创建图像,我们必须在屏幕上绘制那个东西,我可以用一些代码关闭MessageBox吗?