FrameworkElement.Parent Propriedade
Definição
Importante
Algumas informações dizem respeito a um produto pré-lançado que pode ser substancialmente modificado antes de ser lançado. A Microsoft não faz garantias, de forma expressa ou implícita, em relação à informação aqui apresentada.
Obtém o elemento pai lógico deste 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
Valor de Propriedade
Este elemento é o pai lógico.
Exemplos
O exemplo seguinte mostra código que verifica o pai de um elemento e depois usa valores de propriedade do pai para definir propriedades no elemento filho para corresponder. Neste caso, estas são propriedades que afetam o tamanho da renderização.
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
Observações
Parent pode ser null em casos em que um elemento foi instanciado, mas não está ligado a nenhuma árvore lógica que eventualmente se liga ao elemento raiz ao nível da página, ou ao objeto de aplicação.
Note que o pai lógico de um elemento pode potencialmente mudar dependendo da funcionalidade da sua aplicação, e manter o valor dessa propriedade não refletirá essa alteração. Normalmente, deves receber o valor imediatamente antes de precisares dele.
Consulte Trees em WPF para mais informações sobre a travessia de árvores lógicas e os cenários em que usar Parent como técnica de descoberta de elementos pais é apropriado.
O motor de propriedades irá potencialmente recalcular todos os valores de propriedades de um elemento quando este for reparentado, porque algumas propriedades herdam valores através da árvore lógica. O DataContext que se aplica para ligações também pode mudar quando elementos são reparentados.
Alterar o pai de um elemento é normalmente feito apenas através da manipulação de coleções, através de métodos dedicados de adição ou remoção, ou através da definição de propriedades de conteúdo dos elementos.
O cenário mais típico para usar a Parent propriedade é obter uma referência e depois obter vários FrameworkElement valores do imóvel da empresa-mãe. Para modelos, o Parent do modelo será nulleventualmente . Para ultrapassar este ponto e estender para a árvore lógica onde o modelo é realmente aplicado, use TemplatedParent.
Note que esta propriedade não reporta os pais da árvore visual nos casos em que estes diferem dos pais lógicos da árvore. Os pais da árvore visual normalmente não são importantes para casos de aplicação geral, mas podem ser os elementos parentes desejados para certos casos de nível visual. Consulte VisualTreeHelper.