Pour afficher l’article en anglais, activez la case d’option Anglais. Vous pouvez aussi afficher la version anglaise dans une fenêtre contextuelle en faisant glisser le pointeur de la souris sur le texte.
Traduction
Anglais
Cette documentation est archivée et n’est pas conservée.

FrameworkElement.Parent, propriété

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

Espace de noms :  System.Windows
Assembly :  PresentationFramework (dans PresentationFramework.dll)

public DependencyObject Parent { get; }

Valeur de propriété

Type : System.Windows.DependencyObject
Parent logique de cet élément.

Parent peut être une null dans les cas où un élément a été instancié mais n'est attaché à aucune arborescence logique qui se connecte au final à l'élément racine portant sur la page ou à l'objet d'application.

Notez que le parent logique d'un élément peut éventuellement changer selon les fonctionnalités de votre application ; conserver la valeur de cette propriété ne reflète pas cette modification. Vous devez en général obtenir immédiatement la valeur avant d'en avoir besoin.

Consultez Arborescences dans WPF pour plus d'informations sur le parcours d'une arborescence logique et les scénarios où Parent est approprié en tant que technique pour la découverte d'éléments parents.

Le moteur de propriétés recalcule éventuellement toutes les valeurs de propriété d'un élément lorsqu'il se voit réattribué un autre parent, car certaines propriétés héritent des valeurs à travers l'arborescence logique. DataContext qui s'applique pour les liaisons peut également changer lorsque le parent des éléments est réattribué.

La modification du parent d'un élément est faite en général uniquement à travers la manipulation de collections, en utilisant des méthodes dédiées d'ajout ou de suppression, ou par le biais de la définition de propriétés de contenu d'éléments.

Le scénario le plus typique pour utiliser la propriété Parent est d'obtenir une référence, puis d'obtenir différentes valeurs de propriété FrameworkElement du parent. Pour les modèles, le Parent du modèle est en fin de compte une null. Pour franchir ce point et développer l'arborescence logique où le modèle est réellement appliqué, utilisez TemplatedParent.

Notez que cette propriété ne signale pas de parents d'arborescence d'éléments visuels dans les cas où ceux-ci diffèrent des parents d'arborescence logique. Les parents dans l'arborescence d'éléments visuels ne sont pas importants en général pour les cas généraux d'application mais peuvent constituer les éléments parents les plus adaptés à certains cas de niveaux d'éléments visuels. Consultez VisualTreeHelper.

L'exemple suivant affiche du code qui recherche le parent d'un élément, puis utilise des valeurs de propriété du parent pour définir des propriétés sur l'élément enfant à mettre en correspondance. Dans ce cas, ce sont les 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);
}


.NET Framework

Pris en charge dans : 4, 3.5, 3.0

.NET Framework Client Profile

Pris en charge dans : 4, 3.5 SP1

Windows 7, Windows Vista SP1 ou ultérieur, Windows XP SP3, Windows Server 2008 (installation minimale non prise en charge), Windows Server 2008 R2 (installation minimale prise en charge avec SP1 ou version ultérieure), Windows Server 2003 SP2

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.
Afficher: