问题标签 [custom-activity]

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 投票
1 回答
763 浏览

.net-3.5 - Workflow Foundation 3.5 中的自定义活动设计器:它们如何工作?

这篇文章的意图:

我意识到 Workflow Foundation 在 StackOverflow 上并不是很受欢迎,而且可能不会有很多答案,或者根本没有。这篇文章旨在为尝试通过自定义设计器类自定义工作流活动外观的人们提供资源。


目标:

我正在尝试为工作流活动创建一个自定义设计器类,以实现以下目标:

  1. 让活动看起来不那么技术性。例如,我不一定希望将内部对象名称视为活动的“标题”——相反,我希望看到更具描述性的内容。

  2. 在标题文本下方显示某些属性的值。我想直接在标题下方查看一些属性的值,这样我就不需要查看其他地方(即在“属性”窗口中)。

  3. 提供自定义放置区域并绘制自定义内部箭头。例如,我希望能够在非常特定的地方拥有自定义放置区域。


到目前为止我发现了什么:

我创建了一个自定义设计器类,其派生SequentialActivityDesigner如下:

通过重写一些属性和OnPaint方法,我发现了以下属性之间的对应关系以及活动将如何显示:

显示 SequentialActivityDesigner 的某些属性与显示的活动之间关系的图表。
图 1. an 的某些属性SequentialActivityDesigner与显示的活动之间的关系。

目标 #1(使活动看起来不那么技术性)和目标 #2(在标题文本下方显示属性值)的可能解决方案:

  • 显示的标题可以通过Title属性进行更改。

  • 如果需要更多空间来显示标题下方的附加信息,则TitleHeight可以增加属性(即,覆盖属性并使其返回base.TitleHeight + n,其中n是某个正整数)。

  • 覆盖该OnPaint方法并在通过 . 保留的区域中绘制附加文本TitleHeight


开放式问题:

  • 连接器、连接件和连接点是做什么用的?它们似乎是必要的,但目的是什么?

  • 虽然可以通过该GetDropTargets方法获得放置目标,但这似乎不一定是设计人员实际放置放置活动的位置。当一个活动被拖过工作流时,设计器会显示一些绿色的加号,可以删除活动;它如何确定这些加号的位置?

  • 设计师如何确定在哪里绘制连接线和箭头?

0 投票
1 回答
1225 浏览

wpf - 将自定义活动设计器的输出绑定到活动参数

我正在尝试为我拥有的活动添加自定义活动设计器。活动看起来有点像:

我正在尝试将设计师放在活动上,以便更好地设置这些值(因此您最终不会直接输入 VB。我的设计师基于 mindscape 属性网格。我有一个我想要的 ObservableDictionary 源从中获取值并将它们放入 InArgument。目前我正在使用

但是,这会导致 ArgumentException“UserInteractionProperty[] 类型的对象无法转换为 InArgument`1[UserInteractionProperty[]]。

那么如何将我的 UserInteractionProperties 数组转换为 InArgument?

0 投票
3 回答
824 浏览

workflow-foundation - WF4 自定义活动如何确定其处于设计模式与执行模式

我有一个自定义设计器 (WPF) 的 WF4 自定义活动。我希望 CacheMetaData 覆盖中的行为略有不同,具体取决于 Activity 是处于设计模式还是执行模式。

编辑:要求的原因。 我们有需要从 web.config 文件(或其包含之一)中查找数据的验证。在运行时我们可以使用 System.Configuration.ConfigurationManager,而在设计时我需要使用 EnvDte 来询问项目结构。

由于可以调试 Activity,因此在任何一种情况下它都可能是 VS,所以我无法检查。

WF4中是否有服务可以打电话告诉我我处于什么模式?

0 投票
2 回答
2331 浏览

c# - Workflow Foundation 4 - ActivityFunc 的结果即使执行方法显示为真,也始终为假

Ello,我遇到了一个自定义活动的问题,该活动执行对 `ActivityFunc` 的评估并返回 false,即使它在 Execute 中被评估为 true。这是我的活动

因此,当我在 Execute 方法中评估我的条件时,即使我将条件的结果打印为真,它也会调用 OnConditionComplete 并返回结果(这总是错误的)。那么这里有什么我看不到的明显错误吗?

更新

好的,我认为 Marice 谈论的是在类中有回调,只是让 OnConditionComplete 方法指向回调。我确实改变了,但没有看到改变。如果我能ActivityFunc<bool> child 在实际执行时以某种方式从条件中检索值或在之后保存它的值,那会很好用。我已经玩过 CacheMetadata 的元数据,看看是否有任何我能找到的东西可以让我这样做,但到目前为止还没有找到任何东西。

更新 2

问题显然来自 ActivityFunc <bool> Condition. 我将不得不通过并检查 Condition 可能存在的问题。不确定这是否应该提出一个新问题,因为它在技术上尚未解决,但我会看到有关组合一个测试条件以退出,如果没有其他任何东西显示我在哪里。

更新 3

好的,这是我用作子活动的一个简单示例,即使它在执行中评估为 true,它也总是返回 false

0 投票
1 回答
1156 浏览

workflow-foundation-4 - 在WF4中,如何定义一个可以作为变量作用域的自定义活动?

当我重新托管设计师时,我可以声明变量及其范围。但是,并非所有活动都可以是变量的范围。我注意到 Sequence、Parallel、PickBranch 可以是主机,但 Pick、If、Delay 不能。目前我所有的自定义活动都不能是变量的范围。我应该怎么做才能使自定义活动能够成为变量的范围?

0 投票
1 回答
266 浏览

tfs - 如何以有效的方式为 Team Build 2010 开发自定义活动?

要为 Team Build 2010 创建自定义工作流活动,我必须创建一个包含自定义活动的类库,以及另一个用于自定义构建过程(工作流)的类库。

我的开发工作流程是:

  • 为自定义活动编写代码
  • 构建自定义活动
  • 从源代码管理中删除自定义活动程序集
  • 签入以有效删除源代码管理中的文件
  • 在源代码管理中添加新版本的程序集
  • 签入以有效地在源代码管理中添加程序集
  • 最后测试,更新的构建定义!

然后,重复所有这些步骤,每次我想测试我的自定义活动的修改......

有没有办法以有效的方式完成这些步骤以获得更好的开发体验?

0 投票
1 回答
398 浏览

tfsbuild - 使用自定义代码活动读取构建变量

我有一个构建模板,其中创建了变量,并且在构建模板本身中设置了值。

我在同一个构建模板中有另一个自定义活动。我的自定义活动将读取一个 XML 文件,其中包含创建的所有变量的名称。

我的问题是,如何读取构建过程模板中创建的构建变量的值?

有什么帮助吗?

0 投票
1 回答
201 浏览

wpf - 设计师重新托管问题

我正在尝试在 wpf 窗口中重新托管 wf 设计器。我已经建立了自定义活动和活动设计器。

我无法拖放到工作流自定义活动中

我不知道如何,我尝试了很多!

感谢 oyu

0 投票
1 回答
1817 浏览

custom-activity - InvokeProcess 自定义活动不调用

我正在做关于自定义 TFS 构建的第一步。我创建了一个调用批处理文件的 InvokeProcess。我在日志中看到调用了批处理文件,但没有看到批处理文件被执行。在文件名中,我输入了文件的位置和名称(例如“C:\myBatch.bat”。只是为了看到它工作,我还调用了文件名“Notepad.exe”,但它也没有工作。可能是什么问题?

谢谢

0 投票
1 回答
387 浏览

workflow-foundation-4 - 由活动文件构建的客户活动

如何在 Reshosted 工作流设计器中使用自定义代码(活动文件既不是 codeactivity 也不是 activitydesginer )作为活动?

我正在为每个(代码活动和活动设计器)文件构建的任何活动执行以下操作,并写入:

....ETC

任何帮助?