0

私の WPF アプリケーションには、テキスト ファイルからデータを抽出するループが 1 つあります。それに基づいて、データ チャートが表示され、スクリーンショットが取得されます。

擬似コード:

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 ウィンドウのフォーカスなど、何か他のものです。

私に何ができる?ソースコードは非常に長く、多くのファイルに分割されているため、投稿できません。

4

1 に答える 1

0

またはで何らかの形で画面に表示される がshowchartすでにあるとします。ImageContentControlImage

System.Drawing.Save メソッドを使用してファイルに保存するだけです。

System.Drawing 保存に関する MSDN

ImageFormat およびより詳細なコーデック情報を提供することもできます。

于 2012-07-20T06:32:40.040 に答える