Проблема в том, что я динамически открываю конструктор рабочих процессов из одного приложения оболочки, и у меня нет ссылки на Canvas. Я могу сохранить WF4 как изображение, но изображение не сохраняется должным образом и содержит левое и верхнее поля. Я следил за многими статьями, чтобы заставить его работать, но безуспешно. Я также ссылался на следующую статью.
Сохранение холста в png C# wpf
Я использую функцию ниже. У меня нет ссылки на холст.
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);
}
Пожалуйста, помогите в этом.