PrintTaskRequest Класс
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Содержит запрос из системы на создание задачи печати. Этот объект доступен из объекта PrintTaskRequestedEventArgs , переданного событию PrintTaskRequested .
public ref class PrintTaskRequest sealed
/// [Windows.Foundation.Metadata.ContractVersion(Windows.Foundation.UniversalApiContract, 65536)]
/// [Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
class PrintTaskRequest final
[Windows.Foundation.Metadata.ContractVersion(typeof(Windows.Foundation.UniversalApiContract), 65536)]
[Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
public sealed class PrintTaskRequest
Public NotInheritable Class PrintTaskRequest
- Наследование
- Атрибуты
Требования к Windows
Семейство устройств |
Windows 10 (появилось в 10.0.10240.0 - for Xbox, see UWP features that aren't yet supported on Xbox)
|
API contract |
Windows.Foundation.UniversalApiContract (появилось в v1.0)
|
Комментарии
Класс PrintTaskRequest используется приложением для создания нового объекта PrintTask . Объект PrintTask создается в ответ на событие PrintTaskRequested и указывает системе, что приложение содержит содержимое для печати. При создании объекта PrintTask с помощью метода CreatePrintTask приложение должно предоставить имя для PrintTask и обработчик событий PrintTaskSourceRequestedHandler , который вызывается при необходимости печати содержимого.
Приложение должно выполнять минимальный объем работы, возможный в обработчике событий PrintTaskRequested , так как для ответа предоставляется только небольшое время. Везде, где это возможно, приложение должно просто создать PrintTask и отложить инициализацию содержимого до вызова обработчика событий PrintTaskSourceRequestedHandler .
Если приложению необходимо выполнить асинхронную операцию во время обработчика PrintTaskRequested , оно должно получить и использовать объект PrintTaskRequestedDeferral . Перед выходом обработчика событий и, как правило, перед запуском асинхронной операции приложение должно получить объект PrintTaskRequestedDeferral , вызвав метод GetDeferral объекта PrintTaskRequest. После завершения асинхронной операции приложение должно вызвать метод Complete объекта PrintTaskRequestedDeferral , чтобы сообщить о завершении запроса задачи печати. Вызов метода Complete должен произойти до достижения крайнего срока , чтобы запрос был принят.
Для создания задачи печати можно использовать метод CreatePrintTaskTaskв PrintTaskRequest . Ниже приведен фрагмент кода из примера печати UWP , в который показано создание задачи печати:
protected virtual void PrintTaskRequested(PrintManager sender, PrintTaskRequestedEventArgs e)
{
PrintTask printTask = null;
printTask = e.Request.CreatePrintTask("C# Printing SDK Sample", sourceRequested =>
{
// Print Task event handler is invoked when the print job is completed.
printTask.Completed += async (s, args) =>
{
// Notify the user when the print operation fails.
if (args.Completion == PrintTaskCompletion.Failed)
{
await scenarioPage.Dispatcher.RunAsync(Windows.UI.Core.CoreDispatcherPriority.Normal, () =>
{
MainPage.Current.NotifyUser("Failed to print.", NotifyType.ErrorMessage);
});
}
};
sourceRequested.SetSource(printDocumentSource);
});
}
Дополнительные сведения об этом и других сценариях печати см. в разделе Печать и пример печати UWP.
Свойства
Deadline |
Возвращает значение DateTime , указывающее, как долго приложение отвечает на событие PrintTaskRequested . Если система не получила ответ от обработчика событий PrintTaskRequested к моменту достижения крайнего срока, задача печати игнорируется. |
Методы
CreatePrintTask(String, PrintTaskSourceRequestedHandler) |
Создает новый объект PrintTask , указывающий, что в приложении есть содержимое для печати. |
GetDeferral() |
Извлекает объект deferral, связанный с PrintTaskRequest. Объект deferral используется для обработки асинхронных вызовов в обработчике событий PrintTaskRequested . |