2

我想创建一个基于 FlowChart 活动的自定义可重用工作流基础活动。所有内置类都是密封的,因此我无法继承它。这些活动将在重新托管工作流设计器并由非开发人员使用的应用程序中使用。我可以从 NativeActivity 类继承。但是,我需要能够将活动拖放到此自定义活动中,就像 FlowChart 活动一样。

摘要:有没有人有关于如何实现自定义工作流活动的示例或想法,该活动的行为就像流程图(在设计器中和运行时)但允许我在幕后使用自己的自定义逻辑扩展类?

我想我可能只是在寻找或重用 FlowChart 使用的同一个 ActivityDesigner。那可能吗?

4

2 回答 2

1

岩石!我认为您可以使用这种方法:您有一些无法更改的内置密封代码活动(流程步骤、流程决策),但您可以为它们创建其他设计器(即 UI)。我设法通过添加触发器来应用颜色效果来自定义流程决策设计师的这种方式。此外,您可以通过使用基 ActivityDesigner 类覆盖自动为其分配条件(例如,通过将其绑定到内部流程图变量)。

于 2011-03-03T11:30:18.843 回答
0

如果我必须这样做,我可能会进入 Reflector 并找到我想要修改的类,然后将其复制并粘贴到 VS 中的项目中。在这一点上,我会编译,找出它依赖的其他内部/私有类,然后复制它们。在迭代了几十次之后,我会得到一些编译没有错误的东西,我可以开始将它集成到我的系统的其余部分中。

它不漂亮,但我认为没有其他方法可以扩展内部或私有类。

当然你可以做这整个事情,只是发现设计器有一些特殊的情况代码来寻找你想要扩展的特定类,这样就不可能得到你想要的行为。

于 2010-07-09T06:42:20.463 回答