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,以及 XpsDocumentWriter 的 WriteAsync 方法。如需此方面的詳細資訊,請參閱 HOW TO:以程式設計方式列印 XPS 檔和列印 XPS 文件。
請參閱
概念
Windows Presentation Foundation 中的文件