我如何知道活动是否已在工作流程设计器中删除或重新定位?

发布于 2024-12-10 11:53:38 字数 47 浏览 5 评论 0原文

我如何知道活动是否已在工作流程设计器中删除或重新定位?活动的卸载事件两次都会触发

How do i know if an activity has been deleted or repositioned in the workflow designer? the unloaded event of the activity fires on both occasions

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

櫻之舞 2024-12-17 11:53:38

戴夫的回答是部分正确的。当您移动活动时,还会调用删除事件,因此两种情况下的验证都是正确的。我使用活动的 modelItem.Parent。
当 Activity 实际被删除时,modelItem.Parent 为 null;当 Activity 刚刚移动时,modelItem.Parent 为 null。

Dave's answer is partial correct. When you move your activity a remove event is also called, so that verification will be true for both cases. I use the activity's modelItem.Parent.
modelItem.Parent is null when the activity is actually deleted, and != null when it's just moved.

尸血腥色 2024-12-17 11:53:38

您应该能够通过使用以下事件查明活动是否已被删除:

ModelService ms = workflowdesigner.Context.Services.GetService<ModelService>();
ms.ModelChanged += new EventHandler<ModelChangedEventArgs>(Designer_ModelServiceChanged);

然后,您可以通过执行以下操作找到已删除的活动:

private void Designer_ModelChanged( object sender, EventArgs e )
{
           //iterate through model items and find your activity
           if (null != eventArgs.ItemsRemoved)
           {
                foreach (ModelItem mi in eventArgs.ItemsRemoved)
                {
                    //find your activity
                }
            }
}

查看 Bruce Bukovics 的 Pro WF Windows Workflow in .NET 4 一书

You should be able to find out if an activity has been deleted by using the following event:

ModelService ms = workflowdesigner.Context.Services.GetService<ModelService>();
ms.ModelChanged += new EventHandler<ModelChangedEventArgs>(Designer_ModelServiceChanged);

You can then find the deleted activities by doing something like:

private void Designer_ModelChanged( object sender, EventArgs e )
{
           //iterate through model items and find your activity
           if (null != eventArgs.ItemsRemoved)
           {
                foreach (ModelItem mi in eventArgs.ItemsRemoved)
                {
                    //find your activity
                }
            }
}

Check out the book Pro WF Windows Workflow in .NET 4 by Bruce Bukovics

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文