共用方式為


HOW TO:叫用列印對話方塊

更新:2007 年 11 月

若要提供從應用程式進行列印的功能,則只需要建立並開啟 PrintDialog 物件。

範例

PrintDialog 控制項可提供 UI、組態與 XPS 工作提交的單一進入點。這個控制項十分容易使用,而且可以使用可延伸標記語言 (XAML) 標記或程式碼具現化 (Instantiate)。下列範例示範如何使用程式碼具現化和開啟控制項,以及如何從中進行列印。也會顯示如何確保對話方塊提供選項,讓使用者設定特定範圍的頁數。這個範例程式碼假設在 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 文件寫作程式 (英文) 來建立 XML Paper Specification (XPS) 檔案,而不是進行列印。

注意事項:

本主題討論之 WPF 的 System.Windows.Controls.PrintDialog 控制項,不應該與 Windows Form 的 System.Windows.Forms.PrintDialog 元件混淆。

嚴格來說,您可以使用 PrintDocument 方法,而不需開啟對話方塊。就該意義而言,控制項可以用做看不見的列印元件。但為了效能理由,最好使用 AddJob 方法或其中一個 Write,以及 XpsDocumentWriterWriteAsync 方法。如需此方面的詳細資訊,請參閱 HOW TO:以程式設計方式列印 XPS 檔列印 XPS 文件

請參閱

概念

Windows Presentation Foundation 中的文件

列印概觀

參考

PrintDialog

其他資源

列印範例

Microsoft XPS 文件寫作程式