FrameworkElement.Parent Proprietà

Definizione

Ottiene l'elemento padre logico di questo elemento.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

Valore della proprietà

Elemento padre logico di questo elemento.This element's logical parent.

Esempi

Nell'esempio seguente viene illustrato il codice che controlla la presenza dell'elemento padre di un elemento, quindi utilizza i valori delle proprietà dell'elemento padre per impostare le proprietà dell'elemento figlio in modo che corrispondano.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. In questo caso si tratta di proprietà che influiscono sulle dimensioni di rendering.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

Commenti

Parent possono essere null nei casi in cui è stata creata un'istanza di un elemento, ma non è collegato a un albero logico che si connette alla fine all'elemento radice a livello di pagina o all'oggetto applicazione.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.

Si noti che l'elemento padre logico di un elemento può variare in base alle funzionalità dell'applicazione e mantenere il valore di questa proprietà non rifletterà la modifica.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. In genere è necessario ottenere il valore immediatamente prima che sia necessario.You typically should get the value immediately before you need it.

Vedere strutture ad albero in WPF per altre informazioni sull'attraversamento dell'albero logico e sugli scenari in cui l'uso di Parent come tecnica del rilevamento di elementi padre è appropriato.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.

Il motore di proprietà rileverà potenzialmente tutti i valori di proprietà di un elemento quando viene associato un nuovo elemento padre, perché alcune proprietà ereditano i valori tramite l'albero logico.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. Il DataContext che si applica alle associazioni può anche cambiare quando gli elementi sono associati a un nuovo elemento padre.The DataContext that applies for bindings can also change when elements are reparented.

La modifica dell'elemento padre di un elemento viene in genere eseguita solo tramite la manipolazione di raccolte, usando metodi di aggiunta o rimozione dedicati oppure tramite l'impostazione di proprietà di contenuto di elementi.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.

Lo scenario più comune per l'uso della proprietà Parent è ottenere un riferimento e quindi ottenere vari FrameworkElement valori di proprietà dall'elemento padre.The most typical scenario for using the Parent property is to obtain a reference and then get various FrameworkElement property values from the parent. Per i modelli, la Parent del modello verrà null.For templates, the Parent of the template eventually will be null. Per superare questo punto ed estenderlo nell'albero logico in cui è effettivamente applicato il modello, usare TemplatedParent.To get past this point and extend into the logical tree where the template is actually applied, use TemplatedParent.

Si noti che questa proprietà non segnala gli elementi padre della struttura ad albero visuale nei casi in cui questi variano dagli elementi padre dell'albero logico.Note that this property does not report visual tree parents in cases where these vary from the logical tree parents. Gli elementi padre della struttura ad albero visuale non sono in genere importanti per i casi generali dell'applicazione, ma possono essere gli elementi padre desiderati per determinati casi di livello visivoVisual tree parents are not typically important for general application cases but may be the desired parent elements for certain visual level cases. Vedere VisualTreeHelper.See VisualTreeHelper.

Si applica a

Vedi anche