StructuredCompositeActivityDesigner.ContainedDesigners Proprietà

Definizione

Ottiene una raccolta generica di sola lettura contenente tutti gli ActivityDesigner figlio dell'oggetto StructuredCompositeActivityDesigner.

public override System.Collections.ObjectModel.ReadOnlyCollection<System.Workflow.ComponentModel.Design.ActivityDesigner> ContainedDesigners { get; }

Valore della proprietà

Raccolta di sola lettura di ActivityDesigner contenente le finestre di progettazione figlio.

Esempio

Nell'esempio seguente viene illustrata l'aggiunta di un nuovo ramo utilizzando una finestra di progettazione basata sulla classe CompositeActivityDesigner. Se CanInsertActivities restituisce True, viene creato un nuovo ramo mediante il metodo InsertActivities. L'oggetto ConnectorHitTestInfo viene creato come parametro del metodo InsertActivities. Al termine, viene utilizzato il metodo EnsureVisibleContainedDesigner per garantire la visualizzazione, nella finestra di progettazione del flusso di lavoro, del nuovo ramo aggiunta accedendo a un singolo oggetto contenuto nella raccolta di ContainedDesigners.

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();
            }
        }
    }
}

Si applica a

Prodotto Versioni
.NET Framework 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1