添加新的子Activity时,WorkflowView强制刷新

时间:2010-01-22 16:49:32

标签: workflow workflow-foundation

我的应用程序正在使用工作流设计器重新托管来让最终用户开发工作流程。我有一个活动可用,需要用户设置一些状态。为了实现这一点,在设计器中我重写Initialize(Activity)并显示一个表单,然后我用它来设置我的Activity中的值。这用于设置最初添加活动时的状态。我还在设计器中有一个双击事件处理程序,以防他们稍后需要编辑该状态。

我现在的情况是,根据表单中的值,我可能需要添加或删除子活动。我已经成功地添加了活动,但并不总是让它出现在设计师中。

调用Initialize时,没有子活动。我可能需要添加一个子Activity。在这一点上,它工作正常,并出现在设计师。当他们稍后通过双击编辑它时会发生问题。在我的设计器中,我重写OnActivityChanged来检测它。我做同样的调用来添加一个孩子,但设计师没有得到更新。奇怪的是,当情况发生时孩子被移除时,视图会更新。

单步执行调试器会显示我正在向Activities集合添加子活动。通常,当我在更新视图时遇到问题时,我可以调用IComponentChangeService.OnComponentChanged,但我似乎无法找到使其工作的方法。

有什么建议吗?

看起来我需要在设计器中使用RemoveActivities和InsertActivities。似乎设计者不会在“活动”列表中收听列表更改事件。有谁知道这是否应该如何运作?

2 个答案:

答案 0 :(得分:0)

您是否在OnActivityChanged事件处理程序中尝试过此操作?

TypeDescriptor.Refresh(e.Activity);

答案 1 :(得分:0)

对于我的情况,我确定我需要使用RemoveActivities和InsertActivities。