FrameworkElement.Parent FrameworkElement.Parent FrameworkElement.Parent FrameworkElement.Parent Property

Définition

Obtient l’élément parent logique de cet élément.Gets the logical parent element of 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é

Parent logique de cet élément.This element's logical parent.

Exemples

L’exemple suivant montre le code qui vérifie le parent d’un élément et utilise ensuite les valeurs de propriété à partir du parent pour définir les propriétés sur l’élément enfant pour faire correspondre.The following example shows code that checks for an element's parent, and then uses property values from the parent to set properties on the child element to match. Dans ce cas il s’agit des propriétés qui affectent la taille de rendu.In this case these are properties that affect the rendering size.

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 pas attaché à aucune arborescence logique qui finit par se connecte à l’élément de niveau racine de page ou l’objet d’application.Parent may be null in cases where an element was instantiated, but is not attached to any logical tree that eventually connects to the page level root element, or the application object.

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

Consultez arborescences dans WPF pour plus d’informations sur le parcours d’arborescence logique et les scénarios où l’utilisation Parent comme une technique de l’élément parent découverte est appropriée.See Trees in WPF for more information about logical tree traversal, and the scenarios where using Parent as a technique of parent element discovery is appropriate.

Le moteur de propriété recalculera potentiellement toutes les valeurs de propriété d’un élément lorsqu’il est apparenté à nouveau, car certaines propriétés héritent des valeurs dans l’arborescence logique.The property engine 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 pour les liaisons peut également changer lorsque les éléments sont apparentés à nouveau.The DataContext that applies for bindings can also change when elements are reparented.

Modification du parent d’un élément est généralement uniquement effectuée via la manipulation de collections, à l’aide de dédié méthodes add ou remove, ou via la définition des propriétés de contenu d’é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 d’obtenir différentes FrameworkElement les valeurs de propriété à partir du parent.The most typical scenario for using the Parent property is to obtain a reference and then get various FrameworkElement property values from the parent. Pour les modèles, les Parent du modèle à long terme sera null.For templates, the Parent of the template eventually will be null. Pour franchir ce point et développer l’arborescence logique où 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.

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.Note that this property does not report visual tree parents in cases where these vary from the logical tree parents. Parents de l’arborescence d’éléments visuels ne sont pas particulièrement importantes pour les cas généraux de l’application, mais peut-être les éléments parent de votre choix pour certains cas au niveau visual.Visual tree parents are not typically important for general application cases but may be the desired parent elements for certain visual level cases. Consultez VisualTreeHelper.See VisualTreeHelper.

S’applique à

Voir aussi