2012-09-11 41 views
1

我希望我能理解如何將xaml文件加載到重新主辦的設計師作品。取決於xaml的定義,我得到了不同的結果。工作流程重新設計設計師

  1. Xaml,文件中的根節點是活動,它可以控制流程圖。這裏使用desinger.Load(xamlFileName)和(新的DesignerMetadata).Register()創建設計器後就足夠了(任何人都知道它是什麼樣的魔法?)在設計器中,我得到了與Visual Studio編輯器類似的工作流。
  2. Xaml,根節點是流程圖本身。同樣的步驟只給我一個設計師的裸體活動。我嘗試在活動構建器according to this中包裝工作流程(我有類似的問題)。程序集沒有問題(至少我是這麼認爲的),沒有例外。我不能像以前那樣使它工作。

保存在visual studio中的xaml和保存在rehosted designer中的xaml之間是否有區別?
ActivityXamlServices.Load有時會返回DynamicActivity,有時是目標工作流。它依賴於什麼?

感謝您的支持。

+0

是的。簡單的解決方案是從磁盤獲得WorkflowDesigner.Load()文件。 – Will

+0

ActivityDesigner沒有方法Load。 – Mat38

+0

固定。 http://msdn.microsoft.com/en-us/library/ee425926.aspx – Will

回答

2

原來,這取決於給予rehosted設計師的參數。如果我從新的流程圖開始,xaml中的根節點將成爲流程圖。稍後將這種文件加載到設計人員時,您不需要將其包裝。如果您從ActivityBuilder開始,則可能需要在加載xaml之前使用WorkflowInspectionServices來獲取工作流。
有時,爲了在設計器中正確顯示工作流程,您需要使用(新DesignerMetadata).Register()從正確的程序集,但它並不總是必需的,我不確定它依賴於什麼。