问题是我正在从一个 shell 应用程序动态打开工作流设计器,并且我没有对 Canvas 的引用。我可以将 WF4 保存为图像,但图像没有正确保存并且包含左和上边距。我关注了许多文章以使其正常工作,但没有成功。我也参考了下面的文章。
我正在使用以下功能。我对画布没有任何参考。
private BitmapFrame CreateWorkflowImage()
{
const double DPI = 96.0;
Visual areaToSave = ((DesignerView)VisualTreeHelper.GetChild(this.wd.View,
0)).RootDesigner;
Rect bounds = VisualTreeHelper.GetDescendantBounds(areaToSave);
RenderTargetBitmap bitmap = new RenderTargetBitmap((int)bounds.Width,
(int)bounds.Height, DPI, DPI, PixelFormats.Default);
bitmap.Render(areaToSave);
return BitmapFrame.Create(bitmap);
}
请帮助解决这个问题。