问题标签 [workflow-rehosting]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
1944 浏览

workflow-foundation - 重新托管的 Workflow Designer 默认导入的命名空间

我正在尝试重新托管 WF4 工作流设计器。在“导入”选项卡中,我希望默认导入一些命名空间。它看起来像这样:

导入的命名空间 http://imageshack.us/m/850/5383/imports.png

经过大量研究,我发现如果你看

你会看到已经导入的东西。但是,手动向此集合添加命名空间似乎没有任何效果。因此,我的问题是:如何以正确的方式将导入的命名空间添加到此列表中?或者,如何使用手动添加的命名空间导入来刷新上下文?


以下解决方案的附加信息

为了解决这个问题,我创建了我想要的“clean slate”活动 XAML 文件,将其添加到我的项目中,将其Build Action设置为Embedded Resource并将其Custom Tool设置为空字符串。

然后,在初始化我的 WorkflowDesigner 的代码中,我执行以下操作:

现在我的工作流程已经导入了所有需要的命名空间。

0 投票
1 回答
380 浏览

workflow-foundation-4 - WF4 - 重新托管的工作流设计器 - 本地化

有没有办法在重新托管的工作流设计器上进行本地化?如果是这样,怎么做?

0 投票
1 回答
1520 浏览

workflow-foundation-4 - 更改 WF4 ActivityDesigner 主题

我想将重新托管的活动外观更改为:

在此处输入图像描述

已经试过了ActivityDesignerTheme

需要不使用就这样做,WorkflowViewElement因为我不想失去它的行为(断点,扩展)。

如果不可能,有没有办法改变ActivityDesigner标题背景颜色?

0 投票
1 回答
499 浏览

workflow-foundation-4 - 从重新托管的设计器表面中删除活动

我的应用程序中有一个重新托管的设计器,它与我的自定义活动都可以正常工作。当用户设计他们的工作流程时,他们会像往常一样将某些活动拖到设计器表面。但是,在用户从下拉框中(不在设计器中)选择某些值后,我想从设计图面上删除某些活动,这样它们就无法保存和执行。

我已经尝试了很多不同的方法来做到这一点,使用 WorkflowInspectionServices 对象来导航 ModelItemTree,获取父序列活动并从它的活动集合中删除自定义活动,但我似乎无法让它工作。

有没有人实际上成功地从代码中重新托管的设计器表面中删除了一个活动(不仅仅是右键单击它并选择删除!!)。

需要明确的是……这不是在执行工作流时,而是在重新托管的设计器中设计时。

0 投票
1 回答
404 浏览

workflow-foundation-4 - 自定义活动的属性窗口中的更改控件

我有一个自定义活动,它有几个参数和几个属性。将活动放入重新托管的设计器时,参数和属性都可以从属性窗口中看到,用户可以在其中输入值或变量名称等。

对于其中一个属性(在属性窗口中),我不希望用户能够输入它,而是用组合框替换文本框,以便他们可以从值列表中进行选择。这个,我似乎找不到答案。

我使用了标记为已解决的现有条目中的一些代码,但我的要求略有不同。

在我的自定义活动中,我在相关属性上方放置了以下内容:

并创建了 ComboBoxTest 类,继承自 UITypeEditor:

但是,将活动放入设计器时,该属性在属性窗口中仍然有文本框,并且没有出现组合框。我什至无法调试它,因为它没有遇到任何断点。

是否有人会碰巧知道 A)我的做法是否正确或 B)如果我在某处有错误,甚至 C)我应该使用更好的方法。

我希望这一切都是有道理的。感谢您的阅读!

亲切的问候,迈克尔

0 投票
1 回答
783 浏览

.net - WF4 - Rehosted Workflow Designer - 启用 PropertyInspectorView 的只读视图

我编写了一个重新托管 Workflow 4 Designer (System.Activities.Presentation.WorkflowDesigner) 并显示 PropertyInspectorView 以允许修改活动参数的应用程序。我想做的是禁用设计器视图的修改(不能在其上放置新活动、重新排序、删除活动等),但在用户突出显示活动时仍使属性视图可编辑。基本上我希望能够部署绘制但未配置的工作流,并让其他人填写活动参数​​。

我尝试过的每个解决方案都会禁用整个设计器和属性视图。我尝试在视图上将 IsEnabled 设置为 false,并将 ReadOnlyState.IsReadOnly 设置为 true。

关于如何实现这种行为的任何想法?谢谢。

0 投票
1 回答
1332 浏览

workflow-foundation-4 - 在 WF4 活动设计器上显示动态参数

我创建了一个自定义活动,其中包含在设计时创建的参数,并且在将它们与设计器中的 ExpressionTextBox 关联时遇到问题。

ExpressionTextBox 显示在设计器中,它们反映了它所绑定的 Argument 的值,但是在 ExpressionTextBox 中输入表达式不会被路由回参数。示例/代码是有序的。

它不会让我发布图片,所以必须做一个链接。 设计器示例

在上图中,我在第二个 ETB 中输入了“param2”,然后单击了“编辑参数”按钮。(编辑参数按钮显示一个 DynamicArgumentDialog)。如果我在 DyanmicArgumentDialog 中输入一个值,那么当我单击“确定”时,它确实会显示在设计器上。

这是我的设计师的 xaml(我可能遗漏了一些东西)

(layoutRoot 是我的设计器的根元素的名称,这样我就可以从 ItemTemplate 内部访问 ModelItem)(我的 Activity 上的 Arguments 属性定义为 Collection 并且当前在列表中有两个项目)

虽然我可以只使用 DynamicArgumentDialog 来设置我的论点,但我希望让它们显示在设计器中。任何人都可以看到这有什么问题,也许为什么它不起作用?

如果有人想看一下,我也有一个样本。 动态参数测试

有没有人幸运地让 ExpressionTextBoxes 与动态参数一起正常工作?

0 投票
1 回答
606 浏览

.net - WF4 - Rehosted Workflow Designer - Host 可以在 DESIGN 时向活动公开服务/数据吗?

我编写了一个重新托管 Workflow 4 Designer (System.Activities.Presentation.WorkflowDesigner) 的应用程序。发现活动并将其动态加载到工具箱中,以便将它们添加到图表中。我知道如何在执行时向活动公开服务,但我想知道在设计时是否有可能发生类似的事情。我的一些活动具有复杂的属性值编辑器,可以启动对话框以及加载数据库。我希望我的主机应用程序为我的活动提供信息,例如他们应该使用的连接字符串等。

有人知道这是否可能吗?我无法找到有关如何实现此目的的任何信息。谢谢!

0 投票
2 回答
1312 浏览

c# - 重新托管的 WF4 设计器中的参数默认值无法解析

重新托管的设计器 (WF4) 的结果在向参数添加默认值时存在问题。其他所有情况似乎都可以正常工作。这是(几乎)空工作流的(删节)xaml。

特别是当添加默认值时,对定义进行了以下添加:this:_b40c.NewArg="test"并且xmlns:this="clr-namespace:" xmlns:this="clr-namespace:"无效,因为它不指向任何地方并且无法解析ActivityXamlServices.Load(stream);(它抛出 XamlObjectWriterException: "'Cannot set unknown member '{clr-namespace: }_b40c.NewArg'.' ...) 无论指定的参数类型是什么,这似乎都会发生。

知道是什么原因造成的吗?

更新

我首先使用的ActivityBuilder是活动。这很好,但由于我没有为它提供名称,它必须生成一个密钥,在上面的示例中_b40cActivityXamlServices.Load处理这些密钥有一些问题。然而,简单地定义一个名称ActivityBuilder似乎就可以解决问题。

这仍然不能回答为什么它在xmlns:this="clr-namespace:"没有实际命名空间的情况下创建。

0 投票
1 回答
1291 浏览

c# - 工作流重新托管设计器

我希望我能理解将 xaml 文件加载到重新托管的设计器中的工作原理。取决于 xaml 定义,我得到不同的结果。

  1. Xaml,文件中的根节点是包含流程图的Activity。在创建设计器之后使用 desinger.Load(xamlFileName) 和 (new DesignerMetadata).Register() 就足够了(有人知道那是什么魔法吗?)在设计器中,我得到了类似于 Visual Studio 编辑器的工作流程。
  2. Xaml,根节点是流程图本身。相同的步骤只给了我一个设计器中的裸活动。我尝试根据这个在活动构建器中包装工作流(我有类似的问题)。组件没有问题(至少我是这么认为的),没有例外。我不能让它像前一点那样工作。

保存在 Visual Studio 中的 xaml 和保存在重新托管的设计器中的 xaml 之间有什么区别吗?
ActivityXamlServices.Load 有时返回 DynamicActivity,有时返回目标工作流。它取决于什么?

感谢您的任何支持。