如何在Reshosted工作流设计器中使用自定义代码(活动文件而不是codeactivity,而不是activitydesginer)?
我正在为任何活动执行以下操作,我为每个活动(codeactivity& activitydesginer)构建文件,并且wirte:
new ToolboxCategory("new Toolbox")
{
Tools=
{
new ToolboxItemWrapper(typeof(Flowchart)),
new ToolboxItemWrapper(typeof(SimpleWebDesigner.TEST)),
....等
AnyHelp?
答案 0 :(得分:1)
如果您正在讨论加载从松散的xaml文件加载的Activity,则可以执行此操作。
您必须在运行时使用ActivityXamlServices类来Load(filename)该文件。执行此操作时,您将获得反序列化的Activity实例。当然,您必须在AppDomain中加载任何相关的程序集(在xaml文件中定义的Activities引用的任何程序集),或者可以加载到Fusion加载程序可以找到它们的位置。
执行此操作后,您可以创建ToolboxItemWrapper
传递activityInstance.GetType()
。
有一件事,因为Activity xaml文件是一个包含其他活动的Activity,您将获得默认的Designer,它只显示一个空白标题。当你将它们放在设计图面上时,没有简单的方法*扩展设计器中xaml文件中定义的子活动。
*我相信你可以构造一个实现IActivityTemplateFactory的类,你可以传递给ToolboxItemWrapper
,它可以传递你的xaml文件中定义的根Activity,这样当你拖放项目时从工具箱中,它将自动添加xaml文件中定义的所有子活动。但我从来没有这样做过,也不确定你是否可以。