StructuredCompositeActivityDesigner.ContainedDesigners Propriedade

Definição

Obtém uma coleção genérica somente leitura que contém todos os designers de atividade que são filhos do StructuredCompositeActivityDesigner.Gets a generic read-only collection that contains all activity designers that are children of the StructuredCompositeActivityDesigner.

public:
 virtual property System::Collections::ObjectModel::ReadOnlyCollection<System::Workflow::ComponentModel::Design::ActivityDesigner ^> ^ ContainedDesigners { System::Collections::ObjectModel::ReadOnlyCollection<System::Workflow::ComponentModel::Design::ActivityDesigner ^> ^ get(); };
public override System.Collections.ObjectModel.ReadOnlyCollection<System.Workflow.ComponentModel.Design.ActivityDesigner> ContainedDesigners { get; }
member this.ContainedDesigners : System.Collections.ObjectModel.ReadOnlyCollection<System.Workflow.ComponentModel.Design.ActivityDesigner>
Public Overrides ReadOnly Property ContainedDesigners As ReadOnlyCollection(Of ActivityDesigner)

Valor da propriedade

ReadOnlyCollection<ActivityDesigner>

Uma ActivityDesigner coleção somente leitura que contém os designers filhos.An ActivityDesigner read-only collection that contains the child designers.

Exemplos

O exemplo a seguir demonstra a adição de uma nova ramificação usando um designer com base na CompositeActivityDesigner classe.The following example demonstrates the addition of a new branch using a designer based off of the CompositeActivityDesigner class. Se CanInsertActivities retornar true, uma nova ramificação será criada usando o InsertActivities método.If CanInsertActivities returns true, a new branch is created using the InsertActivities method. Um ConnectorHitTestInfo objeto é criado como um parâmetro para o InsertActivities método.A ConnectorHitTestInfo object is created as a parameter to the InsertActivities method. Quando isso for concluído, o EnsureVisibleContainedDesigner método será usado para garantir que a ramificação recém-adicionada seja exibida no designer de fluxo de trabalho, acessando um único objeto na ContainedDesigners coleção.When this is finished, the EnsureVisibleContainedDesigner method is used to ensure that the newly added branch is displayed in the workflow designer by accessing a single object in the ContainedDesigners collection.

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

Aplica-se a