3

WF4 Workflow Designer を再ホストしようとしています。[インポート] タブで、デフォルトでいくつかの名前空間をインポートしたいと考えています。次のようになります。

インポートされた名前空間 http://imageshack.us/m/850/5383/imports.png

多くの研究の後、私はあなたが見ればそれを理解しました

workflowDesigner.Context.Items.GetValue<ImportedNamespaceContextItem>().ImportedNamespaces

すでにインポートされているものを見ることができます。ただし、このコレクションに名前空間を手動で追加しても効果はないようです。したがって、私の質問は次のとおりです。インポートされた名前空間をこのリストに正しい方法で追加するにはどうすればよいですか? または、手動で追加した名前空間のインポートを使用してコンテキストを更新するにはどうすればよいですか?


以下のソリューションへの追加情報:

これを解決するために、目的の「白紙の状態」アクティビティ XAML ファイルを作成してプロジェクトに追加し、ビルド アクション埋め込みリソースに設定し、カスタム ツールを空の文字列に設定しました。

次に、WorkflowDesigner を初期化するコードで、次のことを行います。

_Wd = new WorkflowDesigner();

_Wd.Load(
    XamlServices.Load(
        ActivityXamlServices.CreateBuilderReader(
            new XamlXmlReader(
                Assembly.GetEntryAssembly().GetManifestResourceStream( "WpfApplication1.New.xaml" )
            )
        )
    ) as ActivityBuilder
);

これで、ワークフローに必要な名前空間がすべてインポートされました。

4

2 に答える 2

2

これを行う方法は、完全に空のワークフローから始めるのではなく、必要なインポートを使用して空のテンプレートを作成することです。次のようなものを追加します。

 xmlns:si="clr-namespace:System.IO;assembly=mscorlib" 

XAMLファイルのルートアクティビティに移動してSystem.IOをインポートします

于 2011-05-23T15:48:22.980 に答える