CompositeActivityDesigner.InsertActivities 方法
定义
将活动插入设计器。Inserts activities into the designer.
重载
| InsertActivities(HitTestInfo, ReadOnlyCollection<Activity>) |
将指定活动插入设计器中的指定位置。Inserts the specified activities in the designer at the specified location. |
| InsertActivities(CompositeActivityDesigner, HitTestInfo, ReadOnlyCollection<Activity>, String) |
使用事务将活动插入设计器中的指定位置。Inserts activities into the designer at the specified location using a transaction. |
InsertActivities(HitTestInfo, ReadOnlyCollection<Activity>)
将指定活动插入设计器中的指定位置。Inserts the specified activities in the designer at the specified location.
public:
virtual void InsertActivities(System::Workflow::ComponentModel::Design::HitTestInfo ^ insertLocation, System::Collections::ObjectModel::ReadOnlyCollection<System::Workflow::ComponentModel::Activity ^> ^ activitiesToInsert);
public virtual void InsertActivities (System.Workflow.ComponentModel.Design.HitTestInfo insertLocation, System.Collections.ObjectModel.ReadOnlyCollection<System.Workflow.ComponentModel.Activity> activitiesToInsert);
abstract member InsertActivities : System.Workflow.ComponentModel.Design.HitTestInfo * System.Collections.ObjectModel.ReadOnlyCollection<System.Workflow.ComponentModel.Activity> -> unit
override this.InsertActivities : System.Workflow.ComponentModel.Design.HitTestInfo * System.Collections.ObjectModel.ReadOnlyCollection<System.Workflow.ComponentModel.Activity> -> unit
Public Overridable Sub InsertActivities (insertLocation As HitTestInfo, activitiesToInsert As ReadOnlyCollection(Of Activity))
参数
- insertLocation
- HitTestInfo
设计器中要插入活动的位置。The location in the designer to insert the activities.
- activitiesToInsert
- ReadOnlyCollection<Activity>
要插入的活动的列表。The list of activities to insert.
注解
使用 InsertActivities 可将一系列活动插入指定位置。Use InsertActivities to insert a list of activities into the location specified.
调用 InsertActivities 之前,使用 CanInsertActivities 可确保可以插入指定的活动。Prior to calling InsertActivities, use CanInsertActivities to make sure that the specified activities can be inserted.
适用于
InsertActivities(CompositeActivityDesigner, HitTestInfo, ReadOnlyCollection<Activity>, String)
使用事务将活动插入设计器中的指定位置。Inserts activities into the designer at the specified location using a transaction.
public:
static void InsertActivities(System::Workflow::ComponentModel::Design::CompositeActivityDesigner ^ compositeActivityDesigner, System::Workflow::ComponentModel::Design::HitTestInfo ^ insertLocation, System::Collections::ObjectModel::ReadOnlyCollection<System::Workflow::ComponentModel::Activity ^> ^ activitiesToInsert, System::String ^ undoTransactionDescription);
public static void InsertActivities (System.Workflow.ComponentModel.Design.CompositeActivityDesigner compositeActivityDesigner, System.Workflow.ComponentModel.Design.HitTestInfo insertLocation, System.Collections.ObjectModel.ReadOnlyCollection<System.Workflow.ComponentModel.Activity> activitiesToInsert, string undoTransactionDescription);
static member InsertActivities : System.Workflow.ComponentModel.Design.CompositeActivityDesigner * System.Workflow.ComponentModel.Design.HitTestInfo * System.Collections.ObjectModel.ReadOnlyCollection<System.Workflow.ComponentModel.Activity> * string -> unit
Public Shared Sub InsertActivities (compositeActivityDesigner As CompositeActivityDesigner, insertLocation As HitTestInfo, activitiesToInsert As ReadOnlyCollection(Of Activity), undoTransactionDescription As String)
参数
- compositeActivityDesigner
- CompositeActivityDesigner
将插入活动的设计器。The designer into which the activities will be inserted.
- insertLocation
- HitTestInfo
设计器中将插入活动的位置。The location in the designer at which the activities will be inserted.
- activitiesToInsert
- ReadOnlyCollection<Activity>
要插入的活动的列表。The list of activities to insert.
- undoTransactionDescription
- String
由插入操作创建的设计器事务的说明。Description for the designer transaction created by the insertion.
示例
下面的示例演示如何使用 CompositeActivityDesigner 类的基于设计器的中断来添加新的分支。The following example demonstrates the addition of a new branch using a designer based off of the CompositeActivityDesigner class. 如果 CanInsertActivities 返回 true,则使用 InsertActivities 方法创建一个新分支。If CanInsertActivities returns true, a new branch is created using the InsertActivities method.
protected override CompositeActivity OnCreateNewBranch()
{
return new ParallelIfBranch();
}
private void OnAddBranch(object sender, EventArgs e)
{
CompositeActivity activity1 = this.OnCreateNewBranch();
CompositeActivity activity2 = base.Activity as CompositeActivity;
if ((activity2 != null) && (activity1 != null))
{
int num1 = this.ContainedDesigners.Count;
Activity[] activityArray1 = new Activity[] { activity1 };
if (CanInsertActivities(new ConnectorHitTestInfo(this, HitTestLocations.Designer, activity2.Activities.Count),
new List<Activity>(activityArray1).AsReadOnly()))
{
CompositeActivityDesigner.InsertActivities(this,
new ConnectorHitTestInfo(this, HitTestLocations.Designer, activity2.Activities.Count),
new List<Activity>(activityArray1).AsReadOnly(),
string.Format("Adding branch {0}", activity1.GetType().Name));
if ((this.ContainedDesigners.Count > num1) && (this.ContainedDesigners.Count > 0))
{
this.ContainedDesigners[this.ContainedDesigners.Count - 1].EnsureVisible();
}
}
}
}
Protected Overrides Function OnCreateNewBranch() As CompositeActivity
Return New ParallelIfBranch()
End Function
Private Sub OnAddBranch(ByVal sender As Object, ByVal e As EventArgs)
Dim activity1 As CompositeActivity = Me.OnCreateNewBranch()
Dim activity2 As CompositeActivity = CType(MyBase.Activity, CompositeActivity)
If (activity2 IsNot Nothing) And (activity1 IsNot Nothing) Then
Dim num1 As Integer = Me.ContainedDesigners.Count
Dim activityArray1() As Activity = {activity1}
If (CanInsertActivities(New ConnectorHitTestInfo(Me, HitTestLocations.Designer, activity2.Activities.Count), _
New List(Of Activity)(activityArray1).AsReadOnly())) Then
CompositeActivityDesigner.InsertActivities(Me, _
New ConnectorHitTestInfo(Me, HitTestLocations.Designer, activity2.Activities.Count), _
New List(Of Activity)(activityArray1).AsReadOnly(), _
String.Format("Adding branch 0}", activity1.GetType().Name))
If (Me.ContainedDesigners.Count > num1) And (Me.ContainedDesigners.Count > 0) Then
Me.ContainedDesigners(Me.ContainedDesigners.Count - 1).EnsureVisible()
End If
End If
End If
End Sub
注解
使用 InsertActivities 可将一系列活动插入复合活动。Use InsertActivities to insert a list of activities into the composite activity.
调用 InsertActivities 之前,使用 CanInsertActivities 可确保可以插入指定的一系列活动。Prior to calling InsertActivities, use CanInsertActivities to make sure the specified list of activities can be inserted.