1

再ホストされたデザイナーへの xaml ファイルの読み込みがどのように機能するかを理解できれば幸いです。xaml 定義に依存して、異なる結果が得られます。

  1. Xaml、ファイル内のルート ノードは、フローチャートを表す Activity です。ここでは、デザイナーを作成した後に (new DesignerMetadata).Register() で desinger.Load(xamlFileName) を使用するだけで十分です (誰もがそれがどのような魔法か知っていますか?) デザイナーでは、ビジュアル スタジオ エディターのようなワークフローが得られます。
  2. Xaml、ルート ノードは Flowchart そのものです。同じ手順を実行すると、デザイナーで 1 つの裸のアクティビティしか得られません。this に従ってアクティビティビルダーでワークフローをラップしてみました(同様の問題があります)。アセンブリに問題はなく (少なくとも私はそう思います)、例外はありません。前のポイントのように機能させることはできません。

Visual Studio に保存された xaml と再ホストされたデザイナーに保存された xaml に違いはありますか?
ActivityXamlServices.Load は DynamicActivity を返す場合があり、ターゲット ワークフローを返す場合もあります。それは何に依存していますか?

ご支援ありがとうございます。

4

1 に答える 1

2

それは、再ホストされた設計者に与えられた議論に依存することがわかりました。新しいフローチャートから始めると、xamlのルートノードはフローチャートになります。後でそのようなファイルをデザイナーにロードするとき、それをラップする必要はありません。ActivityBuilderを開始した場合は、xamlをロードする前に、WorkflowInspectionServicesを使用してワークフローを取得する必要がある場合があります。
デザイナでワークフローを正しく表示するには、適切なアセンブリから(new DesignerMetadata).Register()を使用する必要がありますが、必ずしも必要ではないため、何に依存するのかわかりません。

于 2012-09-21T11:41:55.467 に答える