FrameworkElement.Parent Propriedade

Definição

Obtém o elemento pai lógico desse 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 da propriedade

O pai lógico desse elemento.

Exemplos

O exemplo a seguir mostra o código que verifica o pai de um elemento e, em seguida, usa valores de propriedade do pai para definir propriedades no elemento filho para corresponder. Nesse caso, essas 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

Comentários

Parent pode ser null nos casos em que um elemento foi instanciado, mas não está anexado a nenhuma árvore lógica que eventualmente se conecta ao elemento raiz no nível da página ou ao objeto do aplicativo.

Observe que o pai lógico de um elemento pode potencialmente mudar dependendo da funcionalidade do aplicativo e manter o valor dessa propriedade não refletirá essa alteração. Normalmente, você deve obter o valor imediatamente antes de precisar dele.

Consulte Árvores no WPF para obter mais informações sobre a passagem de árvore lógica e os cenários em que usar Parent como técnica de descoberta de elemento pai é apropriado.

O mecanismo de propriedade potencialmente recalculará todos os valores de propriedade de um elemento quando ele for reparenciado, pois algumas propriedades herdam valores por meio da árvore lógica. O DataContext que se aplica a associações também pode ser alterado quando os elementos são reparenciados.

A alteração do pai de um elemento normalmente é feita apenas por meio da manipulação de coleções, usando métodos dedicados de adicionar ou remover ou por meio da configuração de propriedades de conteúdo de elementos.

O cenário mais típico para usar a Parent propriedade é obter uma referência e obter vários FrameworkElement valores de propriedade do pai. Para modelos, o Parent do modelo eventualmente será null. Para passar desse ponto e estender para a árvore lógica em que o modelo é realmente aplicado, use TemplatedParent.

Observe que essa propriedade não relata pais de árvore visual nos casos em que eles variam dos pais da árvore lógica. Os pais de árvore visual normalmente não são importantes para casos gerais de aplicativo, mas podem ser os elementos pai desejados para determinados casos de nível visual. Consulte VisualTreeHelper.

Aplica-se a

Confira também