問題は、ワークフロー デザイナーを 1 つのシェル アプリケーションから動的に開いていて、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);
}
これについて助けてください。