2010-07-07 158 views
2

我想創建一個基於FlowChart活動的自定義可重用工作流基礎活動。所有內置的類都是密封的,因此我無法繼承它。這些活動將用於重新託管工作流設計器並由非開發人員使用的應用程序。我可以從NativeActivity類繼承。但是,我需要能夠將活動拖放到此自定義活動中,就像FlowChart活動一樣。Extend Workflow Foundation FlowChart

摘要:沒有人有關於如何實現自定義工作流活動的示例或想法,其行爲與FlowChart(在設計器和運行時)相似,但允許我使用自己的自定義邏輯在後臺擴展該類?

我想我可能只是尋找或重複使用FlowChart使用的同一ActivityDesigner。那可能嗎?

+0

您正在尋找什麼行爲?它將以什麼方式像FlowChart一樣行事? – Gabe 2010-07-08 05:26:14

+0

我也很好奇,我認爲答案與實現自定義活動和自定義活動設計器類有關。我認爲流程圖視圖是作爲WF設計者與自定義活動設計類交互的一部分。 – codekaizen 2010-07-08 06:04:00

+0

我甚至不確定使用哪一個ActivityDesigner來製作FlowChart。 – Gabe 2010-07-08 06:56:54

回答

0

如果我必須這樣做,我可能會進入Reflector並找到我想要修改的類,然後將其複製並粘貼到VS中的項目中。在這一點上,我會編譯,找出它依賴的其他內部/私有類,並複製它們。在迭代幾十次之後,我會有一些編譯沒有錯誤的東西,我可以開始將它集成到我的系統的其餘部分。

這並不美麗,但我不認爲有任何其他方式來擴展內部或私人類。

當然,你可以做到這一點,只是發現設計師有一些特殊的案例代碼,尋找你想要擴展的特定類,這樣獲得你想要的行爲是不可能的。

+0

這是越來越多的出現什麼」我正在尋找的是要告訴我通過添加[Designer(...)]屬性來使用FlowChart設計器的新自定義Activity(它繼承自NativeActivity,就像FlowChart活動一樣);然而,看起來FlowChart設計器不是公開的或者有公共的配置器,所以我似乎無法得到它。我基本上需要工作流設計器中的FlowChart設計器功能,但如果有意義的話,還需要定製本機活動功能。 – 2010-07-09 09:27:46

1

搖滾! 我認爲你可以使用這種方法: 你有一些你不能改變的內置密封代碼活動(流程步驟,流程決策),但你可以爲它們創建其他設計器(例如UI)。我設法通過添加觸發器來應用顏色效果來自定義這種流程決策設計器。此外,通過使用基本的ActivityDesigner類覆蓋,您可以自動爲其分配條件(通過將其綁定到內部流程圖變量)。