2010-12-23 13 views
1

私はユーザーコントロールを印刷するSilverlightアプリケーションを持っています。ユーザが印刷を押すと、印刷ボタンが無効になり、ステータスページ「印刷ページ{番号}」が表示されます。 EndPrintイベントが発生しない印刷ジョブをキャンセルする場合を除き、正常に動作します。Silverlight 4キャプチャ印刷がキャンセルされました

印刷中止イベントをキャプチャする方法はありますか?ドキュメントに掲載され

+1

私はこれも実行しました。ただそれをすぐに見ましたが、それはサポートされていないようです。同様の質問 - http://stackoverflow.com/questions/3803967/capture-print-dialogs-cancel-in-silverlight-printing –

答えて

0

こんにちはも数ヶ月前、私はちょうど私の印刷処理も

PrintDocument pd = new PrintDocument(); 
.... 
pd.EndPrint += (s, args) => 
    { 
     //Handle possilbe print errors or post print stuff here (wich you can see in args 
    }; 

をに次の行を追加して印刷キューにエラーまたはキャンセルをキャッチするために、Silverlightの4印刷APIで働いていましたユーザーが印刷ダイアログボックス(この場合はBeginPrintが発生していない)から印刷操作をキャンセルすると、EndPrintイベントは発生しません。 BeginPrintイベントは、EndPrintイベント(http://bit.ly/ho0kKE)が使用しているブラウザを考慮に入れる前に常に発生します。サポートされているvs「動作しています」の間に大きな相違があります:)

希望これは私が同じ問題を持っていた

アレックス

1

助け、私は私のビジーインジケータOFF成功プリント上またはキャンセルのいずれかをオフに入れていました。

次の文

printDocument.Print() 

が表示された場合、この方法は、あなたのダイアログへの非同期呼び出しではありません。このステートメントが実行されると、印刷ダイアログが開きます。そのダイアログが閉じるまで(印刷またはキャンセルをクリックして)nを指定しない限り、コントロールは次のステートメントには移動しません。だから私はどのように私の問題を解決した:

TurnBusyIndicator(ON) 
printDocument.Print() 
TurnBusyIndicator(OFF) 
関連する問題