簡単な問題がありますが、解決策は難しいようです。ループ中にWPFコントロールキャンバスを使用して印刷したい。しかし、反復ごとに、キャンバスコントロールを更新したいと思います。
WPFでキャンバスコントロールを印刷したい場合は、単に呼び出すことができます
PrintDialog dialog = new PrintDialog();
dialog.PrintVisual(this.canvas, "");
そして、それは私のデフォルトのプリンターに期待通りに印刷します。素晴らしい。
ただし、これをループ内で複数回実行し、各反復中にキャンバスを更新する場合は、ループの最後の反復のみが出力されます。
private void methodName()
{
for (int i = 0; i < 2; i++)
{
updateTextBox(i.ToString());
PrintDialog dialog = new PrintDialog();
dialog.PrintVisual(this.canvas, "");
}
}
private void updateTextBox(string text)
{
txtTextBox.Text = text;
}
2つのプリントアウトを確実に取得するために何をする必要があるか考えてみてください。1つ目はtxtTextBox.Textの値が0で、2つ目は値が1です。