Example #1
0
        private async void PrintDetailedOptions_OptionChanged(PrintTaskOptionDetails sender, PrintTaskOptionChangedEventArgs args)
        {
            var invalidatePreview = false;

            switch (args.OptionId)
            {
            case "LayoutOption":

                switch (sender.Options["LayoutOption"].Value as string)
                {
                case "Center":
                    this.printLayout = PrintPanel.LayoutOption.Centered;
                    break;

                case "AlignLeftOrTop":
                    this.printLayout = PrintPanel.LayoutOption.AlignLeftOrTop;
                    break;

                case "AlignRightOrBottom":
                    this.printLayout = PrintPanel.LayoutOption.AlignRightOrBottom;
                    break;
                }

                invalidatePreview = true;
                break;
            }

            if (invalidatePreview)
            {
                await this.caller.Dispatcher.RunAsync(Windows.UI.Core.CoreDispatcherPriority.Normal, () =>
                {
                    this.printDocument.InvalidatePreview();
                });
            }
        }
Example #2
0
        private void PrintTaskRequested(PrintManager sender, PrintTaskRequestedEventArgs e)
        {
            PrintTask printTask = null;

            printTask = e.Request.CreatePrintTask(this.title, sourceRequested =>
            {
                sourceRequested.SetSource(this.printDocumentSource);
            });

            var printDetailedOptions = PrintTaskOptionDetails.GetFromPrintTaskOptions(printTask.Options);
            var displayedOptions     = printDetailedOptions.DisplayedOptions;

            var alignOption = printDetailedOptions.CreateItemListOption("LayoutOption", "Layout Option");

            alignOption.AddItem("Center", "Center");
            alignOption.AddItem("AlignLeftOrTop", "Align to the Left or to the Top");
            alignOption.AddItem("AlignRightOrBottom", "Align to the right or to the bottom");

            this.printLayout = PrintPanel.LayoutOption.Centered;
            displayedOptions.Clear();

            displayedOptions.Add(StandardPrintTaskOptions.Copies);
            displayedOptions.Add("LayoutOption");
            displayedOptions.Add(StandardPrintTaskOptions.MediaSize);
            displayedOptions.Add(StandardPrintTaskOptions.Orientation);
            displayedOptions.Add(StandardPrintTaskOptions.ColorMode);
            displayedOptions.Add(StandardPrintTaskOptions.PrintQuality);

            printDetailedOptions.OptionChanged += this.PrintDetailedOptions_OptionChanged;
        }