Exporter (0) Imprimer
Développer tout
Développer Réduire
Cet article a fait l'objet d'une traduction automatique. Déplacez votre pointeur sur les phrases de l'article pour voir la version originale de ce texte. Informations supplémentaires.
Traduction
Source
0 sur 1 ont trouvé cela utile - Évaluez ce sujet

FrameworkElement.AddLogicalChild, méthode

Ajoute l'objet fourni à l'arborescence logique de cet élément.

Espace de noms :  System.Windows
Assembly :  PresentationFramework (dans PresentationFramework.dll)
protected internal void AddLogicalChild(
	Object child
)

Paramètres

child
Type : System.Object
Élément enfant à ajouter.

Utilisez cette méthode pour l'implémentation de collections sur les objets qui représentent les éléments enfants logiques d'un élément. La maintenance des collections d'éléments enfants peut se faire dans les accesseurs Get ou les accesseurs Set de propriétés, dans la gestion de classes d'événements Changed, dans les constructeurs ou dans les types de collection mêmes.

Pour les auteurs de contrôle, la manipulation de l'arborescence logique à ce niveau n'est pas la méthode recommandée, à moins qu'aucun des modèles de contenu pour les classes de contrôles de base disponibles ne s'applique correctement à votre scénario de contrôle. Considérez le sous-classement au niveau de ContentControl, de ItemsControl et de HeaderedItemsControl. Ces classes fournissent un modèle de contenu obligeant la mise en application des éléments enfants de l'arborescence logique à travers des API dédiées, ainsi que la prise en charge d'autres fonctionnalités généralement voulues dans un contrôle WPF telles que l'application d'un style par le biais de modèles. Pour plus d'informations sur l'utilisation de LogicalChildren et AddLogicalChild, consultez Arborescences dans WPF.

AddLogicalChild peut lever une exception si cette méthode est appelée au moment où l'arborescence logique est itérée par un autre processus.

L'exemple suivant implémente une propriété Child sur un objet FrameworkElement personnalisé qui opère sa propre implémentation de couche visuelle. L'accesseur Set de la propriété est conçu de façon que, si la valeur change l'ancienne valeur, soit supprimée de l'arborescence logique mais aussi d'une collection visuelle spécifique à la classe. La valeur de propriété est mise en cache, puis la nouvelle valeur est ajoutée à la fois à l'arborescence logique et à la collection personnalisée d'objets visuels.


public virtual UIElement Child
{
    get
    {
        return _child;
    }
    set
    {
        if (_child != value)
        {
            //need to remove old element from logical tree
            if (_child != null)
            {
                OnDetachChild(_child);
                RemoveLogicalChild(_child);
            }

            _vc.Clear();

            if (value != null)
            {
                //add to visual
                _vc.Add(value);
                //add to logical
                AddLogicalChild(value);
            }

            //always add the overlay child back into the visual tree if its set
            if (_overlayVisual != null)
                _vc.Add(_overlayVisual);

            //cache the new child
            _child = value;

            //notify derived types of the new child
            if (value != null)
                OnAttachChild(_child);

            InvalidateMeasure();
        }
    }
}


.NET Framework

Pris en charge dans : 4.5, 4, 3.5, 3.0

.NET Framework Client Profile

Pris en charge dans : 4, 3.5 SP1

Windows 8.1, Windows Server 2012 R2, Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (rôle principal du serveur non pris en charge), Windows Server 2008 R2 (rôle principal du serveur pris en charge avec SP1 ou version ultérieure ; Itanium non pris en charge)

Le .NET Framework ne prend pas en charge toutes les versions de chaque plateforme. Pour obtenir la liste des versions prises en charge, consultez Configuration requise du .NET Framework.
Cela vous a-t-il été utile ?
(1500 caractères restants)
Merci pour vos suggestions.

Ajouts de la communauté

AJOUTER
Afficher:
© 2014 Microsoft. Tous droits réservés.