【发布时间】:2013-05-01 06:31:47
【问题描述】:
我有一个 Metro 应用程序,想检测打印机超级按钮何时打开和关闭。这可能吗?
【问题讨论】:
标签: c#-4.0 windows-runtime microsoft-metro charms-bar
我有一个 Metro 应用程序,想检测打印机超级按钮何时打开和关闭。这可能吗?
【问题讨论】:
标签: c#-4.0 windows-runtime microsoft-metro charms-bar
您可以使用PrintManager 的PrintTaskRequested 事件。打开打印机超级按钮栏时,会发生该事件。 PrintTaskRequested 事件使用 PrintTask 对象进行打印。它有一个名为Completed 的事件。打印任务完成时发生。
PrintTask 类的 MSDN 文档
PrintManager 类的 MSDN 文档
XAML
<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();
}
}
【讨论】: