.net core 未显示Windows 10打印到PDF窗口。Avlonia窗口变得无响应
我正在从avalonia应用程序打印基本测试文档。问题是,当我从Windows 10选择“Microsoft Print to PDF”作为目标打印机时,应用程序挂起,什么也没有发生 我认为问题在于,Avalonia窗口以某种方式阻止了与print to pdf服务相关联的Save file对话框的显示 因此,一种(几乎)解决方法是隐藏窗口,然后再次显示,如下所示:.net core 未显示Windows 10打印到PDF窗口。Avlonia窗口变得无响应,.net-core,avaloniaui,.net Core,Avaloniaui,我正在从avalonia应用程序打印基本测试文档。问题是,当我从Windows 10选择“Microsoft Print to PDF”作为目标打印机时,应用程序挂起,什么也没有发生 我认为问题在于,Avalonia窗口以某种方式阻止了与print to pdf服务相关联的Save file对话框的显示 因此,一种(几乎)解决方法是隐藏窗口,然后再次显示,如下所示: private void PrintTestPage() { window.Hide(); PrintDocum
private void PrintTestPage()
{
window.Hide();
PrintDocument pd = new PrintDocument();
pd.PrinterSettings.PrinterName = SelectedPrinter;
pd.PrintPage += delegate (object sender1, PrintPageEventArgs e1)
{
e1.Graphics.DrawString("This is a test page.", new Font("Times New Roman", 12), new SolidBrush(Color.Black), new RectangleF(0, 0, pd.DefaultPageSettings.PrintableArea.Width, pd.DefaultPageSettings.PrintableArea.Height));
};
try
{
pd.Print();
}
catch (Exception ex)
{
throw new Exception("Error while printing: ", ex);
}
window.Show();
}
但是,当用户选择任何其他打印机时,该窗口将被隐藏并无故显示。除此之外,我希望保存对话框出现在我的应用程序主窗口的顶部,就像在我测试“Microsoft打印到PDF”打印机的任何其他应用程序中一样
我在上创建了一个复制的最小示例。尝试从STA线程打印。您可能需要使用感谢您的提示,但不幸的是,我无法真正理解这一点。我需要使用WinForms吗?如果可能的话,我希望我的代码能够跨平台运行。目前,它适用于除microsoft one之外的所有打印机。。。