FrameworkElement.Parent Propriété

Définition

Obtient l’élément parent logique de cet élément.

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 de cet élément.

Exemples

L’exemple suivant montre le code qui vérifie le parent d’un élément, puis utilise les valeurs de propriété du parent pour définir les propriétés de l’élément enfant à mettre en correspondance. Dans ce cas, il s’agit de propriétés qui affectent la taille de rendu.

private void OnUIReady(object sender, System.EventArgs e)
{
    LinePane.Width = ((StackPanel)LinePane.Parent).ActualWidth;
    LinePane.Height = ((StackPanel)LinePane.Parent).ActualHeight;
    DesignerPane.MouseLeave += new System.Windows.Input.MouseEventHandler(DesignerPane_MouseLeave);
    this.SizeChanged += new SizeChangedEventHandler(Window1_SizeChanged);
}
Private Sub OnUIReady(ByVal sender As Object, ByVal e As System.EventArgs)
    LinePane.Width = (CType(LinePane.Parent, StackPanel)).ActualWidth
    LinePane.Height = (CType(LinePane.Parent, StackPanel)).ActualHeight
    AddHandler DesignerPane.MouseLeave, AddressOf DesignerPane_MouseLeave
    AddHandler SizeChanged, AddressOf Window1_SizeChanged
End Sub

Remarques

Parent peut être null dans les cas où un élément a été instancié, mais n’est attaché à aucune arborescence logique qui finit par se connecter à l’élément racine au niveau de la page ou à l’objet d’application.

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. Vous devez généralement recevoir la valeur immédiatement avant d’en avoir besoin.

Consultez arborescences dans WPF pour plus d’informations sur le parcours de l’arborescence logique et les scénarios où l’utilisation Parent de comme technique de détection des éléments parents est appropriée.

Le moteur 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. Le DataContext qui s’applique aux liaisons peut également changer lorsque les éléments sont à l’identique.

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.

Le scénario le plus courant pour l’utilisation de la Parent propriété consiste à obtenir une référence, puis à obtenir différentes FrameworkElement valeurs de propriété du parent. Pour les modèles, le Parent du modèle finira par être null . Pour aller au-delà de ce point et étendre l’arborescence logique dans laquelle le modèle est réellement appliqué, utilisez TemplatedParent .

Notez que cette propriété ne signale pas les parents de l’arborescence d’éléments visuels dans les cas où ceux-ci diffèrent des parents de l’arborescence logique. Les parents d’arborescence d’éléments visuels ne sont généralement pas importants pour les cas d’application généraux, mais peuvent être les éléments parents souhaités pour certains cas de niveau visuel. Consultez VisualTreeHelper.

S’applique à

Voir aussi