簡體   English   中英

從重新托管的設計器中打印.NET WF4工作流程

[英]Print .NET WF4 workflow from rehosted designer

我想從重新托管的.NET 4.5工作流設計器中打印出不錯的工作流呈現。 打印WPF控件的標准技術不起作用-可以看到工作流設計器本身的周圍環境,但是工作流呈現保持空白。

在下面的示例中,我從另一個Workflow Designer中獲取了工作流定義,但是我也需要能夠從XAML字符串進行打印(因此僅依靠顯示的Workflow Designer不能工作-我需要一個獨立的工作流設計器)。

我嘗試了以下代碼:

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");
}

您必須讓設計人員實際渲染活動。 有關為什么和方式的詳細信息,請參見此MSDN博客 博客條目與保存為圖像有關,但適用相同的概念。 首先渲染它,然后打印它。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM