我正在尝试重新托管设计器,但每次我将工作流程添加到设计器时:
_workflowDesigner = new WorkflowDesigner();
// added to UI here
Properties.Content = _workflowDesigner.PropertyInspectorView;
_workflowDesigner.Load(myWorkflowInstance);
myWorkflowInstance
在引用程序集中定义的工作流在哪里。我已经完成了Register
注册默认活动元数据的魔法:
new DesignerMetadata().Register();
我已经注册了我所有的自定义 NativeActivity:
public static void Register(IEnumerable<Type> activityTypes)
{
// activityTypes are all my custom NativeActivities
// and all workflows (root of System.Activities.Activity)
var builder = new AttributeTableBuilder();
var attrGroups =
from x in activityTypes
from y in x.GetCustomAttributes(true).OfType<Attribute>()
group y by x into g
select g;
foreach (var typeGroup in attrGroups)
builder.AddCustomAttributes(typeGroup.Key, typeGroup.ToArray());
MetadataStore.AddAttributeTable(builder.CreateTable());
}
然而,当我在设计器中加载一个活动时,这就是我得到的:
我在这里想念什么?
我认为这与这些工作流已编译并且仅存在于 Activity 的 Implementation 属性中的事实有关...