2013-05-01 69 views

回答

1

您可以使用PrintManagerPrintTaskRequested事件。打印機魅力條打開時,發生該事件。 PrintTaskRequested事件使用PrintTask對象進行打印。它有一個事件叫做Completed事件。它在打印任務完成時出現。

PrintTask

MSDN文檔

PrintManager

XAML的

MSDN文檔

<Grid Background="{StaticResource ApplicationPageBackgroundThemeBrush}"> 
    <Button Click="Button_Click_1" Content="Print" /> 
</Grid> 

C#

public sealed partial class BlankPage2 : Page 
{ 
    public BlankPage2() 
    { 
     this.InitializeComponent(); 
     PrintManager printMan = PrintManager.GetForCurrentView(); 
     printMan.PrintTaskRequested += PrintTaskRequested; 
    } 

    private void PrintTaskRequested(PrintManager sender, PrintTaskRequestedEventArgs e) 
    { 
     System.Diagnostics.Debug.WriteLine("Printer Opened"); 
     //TODO: 
     PrintTask printTask = e.Request.CreatePrintTask(....); 
     printTask.Completed += printTask_Completed; 
    } 

    void printTask_Completed(PrintTask sender, PrintTaskCompletedEventArgs args) 
    { 
     //TODO: 
    } 


    private async void Button_Click_1(object sender, RoutedEventArgs e) 
    { 
     await Windows.Graphics.Printing.PrintManager.ShowPrintUIAsync(); 
    } 
} 
+0

我用什麼策略檢測關閉? – c0D3l0g1c 2013-05-01 10:01:35

+0

請參閱最新的答案。 – Xyroid 2013-05-01 10:59:38