次の方法で共有


方法 : 印刷ダイアログ ボックスを呼び出す

更新 : 2007 年 11 月

アプリケーションからの印刷機能は、PrintDialog オブジェクトを作成して開くだけで提供できます。

使用例

PrintDialog コントロールは、UI、構成、および XPS ジョブ送信のための単一エントリ ポイントを提供します。このコントロールは使いやすく、Extensible Application Markup Language (XAML) マークアップまたはコードを使用してインスタンス化することができます。コードでコントロールをインスタンス化して開き、そのコントロールから印刷する方法を次の例に示します。また、ダイアログ ボックスを使用してユーザーがページの特定範囲を設定できるようにする方法も示します。このコード例は、C: ドライブのルートに FixedDocumentSequence.xps というファイルがあることを前提としています。PrintDialog のサンプル からサンプル全体をダウンロードすると、\Content サブフォルダ内にこのようなファイルがあります。

private void InvokePrint(object sender, RoutedEventArgs e)
    {
        // Create the print dialog object and set options
        PrintDialog pDialog = new PrintDialog();
        pDialog.PageRangeSelection = PageRangeSelection.AllPages;
        pDialog.UserPageRangeEnabled = true;

        // Display the dialog. This returns true if the user presses the Print button.
        Nullable<Boolean> print = pDialog.ShowDialog();
        if (print == true)
        {
            XpsDocument xpsDocument = new XpsDocument("C:\\FixedDocumentSequence.xps", FileAccess.ReadWrite);
            FixedDocumentSequence fixedDocSeq = xpsDocument.GetFixedDocumentSequence();
            pDialog.PrintDocument(fixedDocSeq.DocumentPaginator, "Test print job");
        }
    }

ダイアログ ボックスを開くと、ユーザーは各自のコンピュータにインストールされているプリンタの中からプリンタを選択することができます。また、印刷する代わりに Microsoft XPS Document Writer を選択して XML Paper Specification (XPS) ファイルを作成することもできます。

メモ :

このトピックで説明する WPF の System.Windows.Controls.PrintDialog コントロールを Windows フォームの System.Windows.Forms.PrintDialog コンポーネントと混同しないようにしてください。

厳密には、ダイアログを開かないで PrintDocument メソッドを使用できます。この意味で、このコントロールは非表示の印刷コンポーネントとして使用できます。ただし、パフォーマンス上の理由から、AddJob メソッドまたは XpsDocumentWriter の複数の Write メソッドおよび WriteAsync メソッドのいずれかを使用することをお勧めします。この詳細については、「方法 : XPS ファイルをプログラムにより印刷する」および「XPS ドキュメントの印刷」を参照してください。

参照

概念

Windows Presentation Foundation のドキュメント

印刷の概要

参照

PrintDialog

その他の技術情報

印刷のサンプル

Microsoft XPS Document Writer