FrameworkContentElement.Parent Propriété

Définition

Obtient le parent de l’arborescence logique pour cet élément.Gets the parent in the logical tree for this element.

public:
 property System::Windows::DependencyObject ^ Parent { System::Windows::DependencyObject ^ get(); };
public System.Windows.DependencyObject Parent { get; }
member this.Parent : System.Windows.DependencyObject
Public ReadOnly Property Parent As DependencyObject

Valeur de propriété

DependencyObject

Parent logique pour cet élément.The logical parent for this element.

Exemples

L’exemple suivant vérifie si le Parent d’un TextPointer est d’un type particulier.The following example checks to see whether the Parent of a TextPointer is of a particular type.

// Traverse content in forward direction until the position is immediately after the opening 
// tag of a Run element, or the end of content is encountered.
while (position != null)
{
    // Is the current position just after an opening element tag?
    if (position.GetPointerContext(LogicalDirection.Backward) == TextPointerContext.ElementStart)
    {
        // If so, is the tag a Run?
        if (position.Parent is Run)
            break;
    }

    // Not what we're looking for; on to the next position.
    position = position.GetNextContextPosition(LogicalDirection.Forward);
}
' Traverse content in forward direction until the position is immediately after the opening 
' tag of a Run element, or the end of content is encountered.
Do While position IsNot Nothing
    ' Is the current position just after an opening element tag?
    If position.GetPointerContext(LogicalDirection.Backward) = TextPointerContext.ElementStart Then
        ' If so, is the tag a Run?
        If TypeOf position.Parent Is Run Then
            Exit Do
        End If
    End If

    ' Not what we're looking for on to the next position.
    position = position.GetNextContextPosition(LogicalDirection.Forward)
Loop

Remarques

Notez que le parent logique d’un élément peut changer selon les fonctionnalités de votre application et que la valeur de cette propriété ne reflète pas cette modification.Note that the logical parent of an element can potentially change depending on your application functionality, and keeping the value of this property will not reflect that change. Vous devez généralement recevoir la valeur immédiatement avant d’en avoir besoin.You typically should get the value immediately before you need it.

Consultez arborescences dans WPF pour plus d’informations sur le parcours des arborescences logiques, ainsi que les scénarios dans lesquels la mise en oeuvre de cette approche pour la détection d’éléments est appropriée.See Trees in WPF for more information about traversing logical trees, and the scenarios where taking this approach towards element discovery is appropriate.

Le système de propriétés recalcule potentiellement toutes les valeurs de propriété d’un élément lorsqu’il est reapparenté, car certaines propriétés héritent des valeurs via l’arborescence logique.The property system will potentially recalculate all property values of an element when it is reparented, because some properties inherit values through the logical tree. Le DataContext qui s’applique aux liaisons peut également changer lorsque les éléments sont à l’identique.The DataContext that applies for bindings can also change when elements are reparented.

La modification du parent d’un élément s’effectue généralement uniquement via la manipulation de collections, en utilisant des méthodes d’ajout ou de suppression dédiées, ou en définissant les propriétés de contenu des éléments.Changing an element's parent is typically only done through manipulation of collections, by using dedicated add or remove methods, or through setting content properties of elements.

Le scénario le plus courant pour l’utilisation de la Parent propriété consiste à obtenir une référence, puis à obtenir différentes FrameworkContentElement valeurs de propriété du parent.The most typical scenario for using the Parent property is to obtain a reference and then get various FrameworkContentElement property values from the parent. Pour les modèles, le Parent du modèle finira par être null .For templates, the Parent of the template eventually will be null. Pour aller au-delà de ce point et étendre l’arborescence logique dans laquelle le modèle est réellement appliqué, utilisez TemplatedParent .To get past this point and extend into the logical tree where the template is actually applied, use TemplatedParent.

S’applique à

Voir aussi