GoWPF 3.0.4 Print current zoomed view

Hello Walter,

when printing i need to provide 2 views to the operator.
1) Print whole diagram to a single page (This i achieve by setting PrintManager.Scale = double.NaN)
2) Print current (Propably zoomed) visible operators diagram view to a single page
Here i tried arround by setting PrintManager.Bounds = PrintManager.Diagram.GetBounds(); and SetTop() and SetLeft(). - But without success.

Result seems always to be the bottom center of the diagram and never the actual operators diagram view.
Question is, what do i need to set on the PrintManager, to actually print the current operators view of the diagram to a single page?

Many thanks meanwhile, Hannes

Basically my current code is:

                if (printAll)
                {
                    // Print whole diagram to single page
                    PrintManager.Diagram.PrintManager.Scale = double.NaN;
                    PrintManager.Diagram.PrintManager.Print(printDialog);
                }
                else
                {
                    // Print current operators view of diagram to single page                   
                    PrintManager.Diagram.PrintManager.Bounds = PrintManager.Diagram.GetBounds();
                    PrintManager.Diagram.PrintManager.Scale = double.NaN;
                    PrintManager.Diagram.PrintManager.Print(printDialog);
                }

This seems to be OK, although it doesn’t appear to clip on the printed page any extra content beyond the right or left sides of the viewport.

    private void Button_Click_1(object sender, RoutedEventArgs e) {
      myDiagram.PrintManager.Scale = myDiagram.Panel.Scale;
      myDiagram.PrintManager.Bounds = myDiagram.Panel.ViewportBounds;
      myDiagram.CommandHandler.Print();
    }

Thank you Walter, works fine now. - Ticket can be closed.

For others.

                if (printAll)
                {
                    // Print whole level to single page
                    PrintManager.Diagram.PrintManager.Scale = double.NaN;
                    PrintManager.Diagram.PrintManager.Bounds = PrintManager.Diagram.Panel.DiagramBounds;
                    PrintManager.PageOptions = PrintPageOptions.None;
                    PrintManager.Diagram.PrintManager.Print(printDialog);
                }
                else
                {
                    // Print current view of level to single page
                    PrintManager.Diagram.PrintManager.Scale = PrintManager.Diagram.Panel.Scale;
                    PrintManager.Diagram.PrintManager.Bounds = PrintManager.Diagram.Panel.ViewportBounds;
                    PrintManager.PageOptions = PrintPageOptions.None;
                    PrintManager.Diagram.PrintManager.Print(printDialog);
                }