【问题标题】:How do i know if an activity has been deleted or repositioned in the workflow designer?我如何知道活动是否已在工作流设计器中被删除或重新定位?
【发布时间】:2011-10-19 11:53:11
【问题描述】:

我如何知道活动是否已在工作流设计器中被删除或重新定位?活动的 unloaded 事件在两种情况下都会触发

【问题讨论】:

    标签: workflow-foundation workflow-foundation-4 workflow-activity


    【解决方案1】:

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

    【讨论】:

      【解决方案2】:

      您应该能够通过使用以下事件来确定某个活动是否已被删除:

      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 一书

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2023-03-20
        • 1970-01-01
        • 2016-01-09
        相关资源
        最近更新 更多