FrameworkElement.Parent Proprietà
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Ottiene l'elemento padre logico di questo elemento.
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.
Esempio
Nell'esempio seguente viene illustrato il codice che verifica la presenza dell'elemento padre di un elemento e quindi usa i valori delle proprietà dell'elemento padre per impostare le proprietà sull'elemento figlio in modo che corrispondano. In questo caso si tratta di proprietà che influiscono sulle dimensioni del rendering.
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 può essere null nei casi in cui è stata creata un'istanza di un elemento, ma non è collegato ad alcun albero logico che alla fine si connette all'elemento radice a livello di pagina o all'oggetto applicazione.
Si noti che l'elemento padre logico di un elemento può potenzialmente cambiare a seconda della funzionalità dell'applicazione e mantenere il valore di questa proprietà non rifletterà tale modifica. In genere si dovrebbe ottenere il valore immediatamente prima di averlo necessario.
Per altre informazioni sull'attraversamento dell'albero logico, vedere Alberi in WPF e gli scenari in cui è appropriata l'uso Parent di come tecnica di individuazione degli elementi padre.
Il motore delle proprietà ricalcocherà potenzialmente tutti i valori delle proprietà di un elemento quando viene replicato, perché alcune proprietà ereditano valori tramite l'albero logico. L'oggetto DataContext applicabile per le associazioni può anche cambiare quando gli elementi vengono replicati.
La modifica dell'elemento padre di un elemento viene in genere eseguita solo tramite la manipolazione delle raccolte, usando metodi di aggiunta o rimozione dedicati o impostando le proprietà del contenuto degli elementi.
Lo scenario più tipico per l'uso della proprietà consiste nell'ottenere Parent un riferimento e quindi ottenere vari FrameworkElement valori di proprietà dall'elemento padre. Per i modelli, l'oggetto Parent del modello alla fine sarà null. Per superare questo punto ed estendersi nell'albero logico in cui viene effettivamente applicato il modello, usare TemplatedParent.
Si noti che questa proprietà non segnala gli elementi padre della struttura ad albero visuale nei casi in cui questi elementi variano a seconda degli elementi padre dell'albero logico. 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 a livello di oggetto visivo. Vedi VisualTreeHelper.