Может ли CanvasVirtualControl работать в качестве UIElement для UWP PrintDocument? - PullRequest
0 голосов
/ 28 марта 2019

При попытке печати из приложения UWP (на C ++ / winrt) с использованием CanvasVirtualControl в качестве источника пользовательский интерфейс печати выглядит нормально, но с пустым предварительным просмотром.

Кажется, что работает printrequest и события для Paginate,и т.д. называются.

Для этого теста я сохранил CanvasVirtualControl, в котором появляется чертеж.Этот элемент управления служит содержимым ScrollViewer.Массив m_print_preview_pages определяется как std :: vector для UIElements.Я отвечаю на событие PrintDocument SetPreviewPage с выводом

m_print_document.SetPreviewPage(args.PageNumber(), m_print_preview_pages[args.PageNumber()-1]);

VS сообщает об ошибке

0x80040155 Failed to find proxy registration for IID: ...

Прежде чем идти дальше, я хотел бы знать, является ли это сухой скважиной,Образец печати UWP не использует CanvasVirtualControl.Разве это не будет возможно?Мне не ясно, что CanvasVirtualControl - это UIElement, необходимый для источника PrintDocument.

Спасибо за любые советы по этому вопросу.

1 Ответ

0 голосов
/ 01 апреля 2019

И ответ: нет.Похоже, что если ваше приложение UWP печатает содержимое CanvasControl или CanvasVirtualControl, то образец печати UWP не является подходящим руководством;и не документация Print-From-Your-UWP-App.Вам необходимо предоставить PrintManager CanvasPrintDocument, и в нем нет таких событий, как Paginate и т. Д. Если кто-то может указать на более полную документацию по этому вопросу, это будет приветствоваться;тем временем я работаю через это.Документы для пространства имен Microsoft.Graphics.Canvas.Printing являются отправной точкой.

...