FrameworkElement.Parent Propriedade
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
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 estar 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 de 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 só é feita por meio da manipulação de coleções, usando métodos dedicados de adição ou remoção 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 modelo eventualmente será null. Para passar por esse 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 em casos em que eles variam dos pais da árvore lógica. Os pais da á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.