如何克隆画布控制wpf?
目前我正在开发桌面应用程序。其中,我使用打印对话框的PrintVisual方法打印画布控件。我将画布作为命令参数从一个视图传递到另一个视图模型。 在视图模型中,我正在画布上执行旋转变换(我希望以180度旋转打印我的内容),但我只希望它在视图模型中,而不是在视图中 目前我面临的一个问题是,我的画布控件也在视图中旋转,这是我不想要的。 请帮我解决我的问题。如何克隆画布控制wpf?,wpf,canvas,mvvm,rotatetransform,rendertransform,Wpf,Canvas,Mvvm,Rotatetransform,Rendertransform,目前我正在开发桌面应用程序。其中,我使用打印对话框的PrintVisual方法打印画布控件。我将画布作为命令参数从一个视图传递到另一个视图模型。 在视图模型中,我正在画布上执行旋转变换(我希望以180度旋转打印我的内容),但我只希望它在视图模型中,而不是在视图中 目前我面临的一个问题是,我的画布控件也在视图中旋转,这是我不想要的。 请帮我解决我的问题。 提前感谢。您可以在新的画布上进行转换,将原始的画布转换为背景 PS:有一个可接受可视的 编辑 这应该给你一个想法: Canvas printCa
提前感谢。您可以在新的
画布
上进行转换,将原始的画布
转换为背景
PS:有一个可接受可视的
编辑
这应该给你一个想法:
Canvas printCanvas = new Canvas();
printCanvas.Background = new VisualBrush(yourOriginalCanvas);
printCanvas.RenderTransform = new RotateTransform(180);
我认为您可以使用PrintDialogs PrintTicket.PageOrientation属性,它需要这样的枚举:
- 景观
- 纵向(默认)
- 反向地景
- 反向端口
- 不为人知
像这样:
PrintDialog pd = new PrintDialog();
pd.PrintTicket.PageOrientation = PageOrientation.ReversePortrait;
你能解释一下如何使用VisualBrush吗?因为我对使用viewbox或viewport@taras感到困惑