目前我正在开发桌面应用程序。其中,我使用PrintVisual方法打印Canvas Control对话框。我将画布从视图传递到视图模型作为命令参数。 在视图模型我在画布上执行旋转变换(我希望通过180度旋转打印我的内容)。但我想要它只是在我的视图模型中不在视图中 目前我面临的一个问题是我的画布控件也在视图中旋转,我不想要。 请帮我解决我的问题。 提前谢谢。
答案 0 :(得分:0)
您可以使用原始Canvas
的{{3}}作为Canvas
,在新的Background
上进行转换。
PS:有一个VisualBrush
接受Visual
。
修改
这应该会给你一个想法:
Canvas printCanvas = new Canvas();
printCanvas.Background = new VisualBrush(yourOriginalCanvas);
printCanvas.RenderTransform = new RotateTransform(180);
答案 1 :(得分:0)
我认为您可以使用PrintDialogs PrintTicket.PageOrientation属性来处理这样的枚举:
像这样:
PrintDialog pd = new PrintDialog();
pd.PrintTicket.PageOrientation = PageOrientation.ReversePortrait;