Обновление создается впечатление, что приложение не знает, когда задача печати завершена, и сохраняет соединение открытым на неопределенный срок.есть ли способ разорвать это соединение?
когда я отлаживаю wpf с помощью средства просмотра отчетов и печатаю документ, я не могу полностью закрыть wpf.
я нажимаюX на окне, и окно закрывается, но vs продолжает работать.Приостановка не показывает, где она висит, хотя в wpf нет потоков.
мы перезаписали печать, чтобы пропустить диалоговое окно, но попытка установить все в ноль после запуска не помогает,Есть идеи, почему он продолжает висеть?(закрытие приложения до его печати работает нормально.)
Эти три потока все еще работают, есть ли способ выяснить, почему они остаются открытыми?
Unflagged 1424 7 Рабочий поток vshost.RunParkingWindow[Управляемый в собственный переход] Нормальный
Не отмеченный 4320 8 Рабочий поток .NET SystemEvents [Управляемый в собственный переход] Нормальный
Не отмеченный> 4332 9 Основной поток Основной поток [Управляемый в собственный переход] Нормальный
protected override void OnPrintCommand()
{
PrintDialog printDialog = new PrintDialog();
printDialog.PrintQueue = LocalPrintServer.GetDefaultPrintQueue();
printDialog.PrintTicket = printDialog.PrintQueue.DefaultPrintTicket;
FixedDocument fixedDocument = this.Document as FixedDocument;
FixedDocumentSequence fixedDocumentSequence = this.Document as FixedDocumentSequence;
if (fixedDocument != null) fixedDocument.PrintTicket = printDialog.PrintTicket;
if (fixedDocumentSequence!= null) fixedDocumentSequence.PrintTicket = printDialog.PrintTicket;
XpsDocumentWriter writer = PrintQueue.CreateXpsDocumentWriter(printDialog.PrintQueue);
if (fixedDocument != null) writer.WriteAsync(fixedDocument, printDialog.PrintTicket);
if (fixedDocumentSequence != null) writer.WriteAsync(fixedDocumentSequence, printDialog.PrintTicket);
printDialog = null;
fixedDocument = null;
fixedDocumentSequence = null;
writer = null;
}