0
.NET 4.5のリホスティングされたワークフローデザイナから素敵なワークフローレンダリングを印刷したいと思います。 WPFコントロールを印刷する標準的なテクニックは機能しません。ワークフローデザイナー自体の周囲を見ることができますが、ワークフローのレンダリングは空白のままです。再ホストされたデザイナからの.NET WF4ワークフローの印刷
次の例では、別のワークフローデザイナからワークフロー定義を取得しますが、XAML文字列からも印刷できる必要があります(表示されたワークフローデザイナーのみに依存するようには機能しません。 1)。あなたは、デザイナーが実際に活動をレンダリング行う必要があり
public void Print()
{
var printDlg = new PrintDialog();
if (printDlg.ShowDialog() != true) return;
_workflowDesigner.Flush();
var wd = new WorkflowDesigner();
DynamicActivity rootActivity;
using (var sr = new StringReader(_workflowDesigner.Text))
{
rootActivity = (DynamicActivity)ActivityXamlServices.Load(sr);
}
// wrap the activity in an ActivityBuilder because the designer expects it this way
var ab = new ActivityBuilder
{
Implementation = rootActivity.Implementation?.Invoke(),
Name = rootActivity.Name
};
wd.Load(ab);
var grid = new Grid();
grid.Children.Add(wd.View);
printDlg.PrintVisual(grid, "My Workflow");
}
ありがとうございます。私はタイマーに頼る代わりに別の方法があることを望んだが、私はそのルートを下りなければならないようだ。 –