问题标签 [activitydesigner]

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 回答
427 浏览

workflow-foundation-4 - 自定义Activity覆盖双击禁用打开Activity详细

我正在使用自定义 Activity 并覆盖 OnMouseDoubleClick 方法。一切正常,但双击 Activity 后,设计器中的自我显示。这意味着在设计器中未显示整个工作流程,而仅显示此活动。如何在自定义设计器中禁用自打开 Activity。这是我在 ActivityDesigner.xaml.cs 中的代码

0 投票
1 回答
1385 浏览

workflow-foundation-4 - 这是一个错误还是我错过了 WF Designer 的某些内容

这是在尝试解决自托管设计器中的相同问题时发现的场景。创建一个包含类型的库项目。我的是这个。

现在创建一个 Workflow 4.5 控制台应用程序(或服务,这似乎无关紧要)。引用库项目。在设计器上放置一个序列,然后制作一个这种库类型的 InArgument,在我的例子中是注册。一切都很好,设计师很高兴。

接下来创建另一个相同的项目,引用相同的库。现在只需从第一个项目中打开 xaml 文件。砰,它找不到类型。

System.Xaml.XamlException:“无法解析属性“registration”的类型“InArgument(r:Registration)”。

这在 xaml 中是:

对于自托管设计器,我发现了这个问题的许多变体,并尝试了各种方法将库程序集加载到设计器中,但没有任何乐趣。

有关如何纠正此问题的任何建议?

0 投票
1 回答
783 浏览

workflow-foundation-4 - WF4 在我的自定义序列中禁用 WorkflowItemsPresenter 中的复制粘贴

我在我的自定义序列活动中使用 WorkflowItemsPresenter,我想在那里禁用活动的复制和粘贴。我找到了一些使用 ICompositeView 接口的解决方案,我试图将其应用于 WorkflowItemsPresenter 但它不起作用。有谁知道如何在 WorkflowItemsPresenter 中禁用复制粘贴行为?

谢谢你。

这是我的疯狂代码

BranchSequenceDesigner.xaml

BranchSequenceDesigner.xaml.cs

分支序列.cs

0 投票
3 回答
664 浏览

c# - 自定义 WF4 活动:为什么 DoubleClick 中的 e.Handled = true 不会停止冒泡

你好,我正在使用可以自行嵌套的自定义 WF4 活动。我要捕捉双击事件,所以我重写了 OnPreviewMouseDoubleClick 方法。我的问题是,当活动在另一个活动中并且双击到内部活动时,对它们都调用了双击。我设置了 e.Handled = true 但它不起作用。如何停止在父活动上执行双击事件。

这是我的代码示例:

ActivityDesigner1.xaml

ActivityDesigner1.xaml.cs

CodeActivity1.cs

0 投票
1 回答
1125 浏览

workflow-foundation-4 - 将项目添加到集合不会刷新活动设计器

我正在重新托管我的设计师并添加了一个工具箱项,其中包含一个 WorkflowItemsPresenter 来呈现多个子活动项。所以我的模型项目有一个集合:

并且绑定是

加载设计器时,绑定工作得很好。现在,当设计器上的某些过滤器更新时,我想清除并将新项目添加到此集合中。因此,在此过滤器属性的 set 访问器中,我调用了一个执行以下操作的方法:

尽管集合得到更新,但设计器不会刷新。我知道有一种方法可以通过编写一些设计器代码隐藏(即通过模型项树更新集合)来做到这一点,但我理想情况下希望没有代码隐藏并期望它像任何其他 WPF 应用程序一样工作。任何帮助将不胜感激,因为我从现在开始一直在尝试设计一种方法(使用多重绑定,使用事件等)。

切里奥,V

0 投票
0 回答
429 浏览

wpf - 活动设计器库中的共享 WPF 资源

我正在开发一堆自定义活动设计器,其中包含自定义控件、图像、样式等。设计器 XAML 分布在库项目中的多个子目录中(不是WPF 应用程序,因此没有可用的 app.xaml)

我需要一个存储资源的中心位置,就像常规 WPF 应用程序中的 app.xaml 一样。

目前我使用这样的projectdir \Properties\lib.xaml 文件:

并从我的所有设计器 XAML 中引用它,如下所示:

其中ActDesLib是我的程序集的名称。

这确实有效,但看起来有点笨拙。有更好的方法吗?

是否有一些类似于 app.xaml 的“神奇”文件会自动包含在库项目中,而无需向各个 XAML 文件添加任何特殊标记?即使有多个开发人员为不同的设计师工作,这也将使实施一致的风格变得更加容易。

顺便说一句:我尝试在 Source=".​​.." 属性中使用相对路径。在 VS2010 的工作流中使用我的活动时,这不起作用,然后找不到资源。使用包含程序集名称的绝对路径,它可以正常工作。但是,VS2010 或重新托管的设计器是否无法自动找到资源字典文件的路径,而我的 XAML 中只有相对引用?

0 投票
1 回答
1032 浏览

workflow-foundation-4 - 如何完全折叠自定义活动设计器(标题下方没有白框)?

对于我的一些活动,我希望它完全折叠,以便在用户折叠其设计器时仅显示标题栏。默认情况下,如果您使用可折叠设计器的标准方式(在 ShowExpanded 上使用 datatrigger),您仍然会在标题栏下方看到一个空白矩形 - 至少在带有 .NET 4.0.3 的 Win7 上

截屏

我希望它像上面显示的延迟活动一样显示,标题下方没有任何框。

在我看来,这个烦人的白框是由资源WorkflowElementDesignerDefaultTemplate中定义的默认模板引起的,该模板有一个 Margin="7" 的 ContentPresenter:

因此,即使我们在活动设计器 XAML 中定义的包含的内容完全折叠,这个 7 的边距仍然会显示出来。

有什么办法可以避免吗?当设计器显示为折叠时,将边距设置为 0(甚至更好,从默认模板触发包含 ContentPresenter 的 Visibility=Collapsed)?

(我希望这不会太混乱?)

0 投票
1 回答
1766 浏览

workflow-foundation-4 - 在代码中更新 DisplayName,没有显示在设计器中?

这应该很容易,但我无法弄清楚。当我的自定义活动的某些属性发生变化时(例如,通过在 WF 设计器的属性网格中更改它),我想动态更新 DisplayName。我在属性设置器代码中这样做:

该活动实现 INotifyPropertyChanged。然而,DisplayName 在设计器表面上并没有改变。我错过了什么?


威尔的回答是正确的。我将设计器 *.xaml.cs 的更新代码粘贴到此处作为单独的答案以具有正确的格式(不可能作为评论)。这段代码编译并完成了任务。

将活动包装在模型项中并没有使解决方案显而易见,是吗?很难看到发生了什么,但它确实有效。干得好,威尔!

0 投票
1 回答
650 浏览

workflow-foundation-4 - 流程图总是显示所有节点都折叠了,有什么方法可以扩展它们?

我们使用流程图活动作为我们工作流程的基础。我在流程图的设计器表面上放置的所有活动都显示为折叠状态。即使我点击设计器右上角的“全部展开”。

首先,我认为这是我的活动设计器代码的问题,但对于像序列这样的标准活动也是如此:在流程图中它们不能以展开模式显示。他们也没有在右上角显示常规的展开/折叠图标。

另一个序列中的一个小序列是可扩展的: 在此处输入图像描述

但在流程图内部,相同的序列不是: 在此处输入图像描述

这是有意设计的,还是我只是错过了一些非常基本的部分?我想扩展个人活动(我们有很多精心设计的设计师),但目前这似乎只适用于类似序列的基本活动,而不适用于流程图。

0 投票
2 回答
148 浏览

c# - WF Designer 重新托管 System.StackOverflowException

我需要重新托管 WF4 设计师的帮助。它应该用于设计非常复杂的工作流,但嵌套活动有限制。(这是一个分支中的第 40 个嵌套活动)。如果超出该限制,则在 PresentationCore.dll 中发生 System.StackOverflowException。

有什么办法,如何增加 System.StackOverflowException 的限制?

是下载的代码示例。构建和执行应用程序后,将滚动条移动到编号为 40 的最后一个活动,应该会发生异常。