FrameworkContentElement.Parent Propriedade

Definição

Obtém o pai na árvore lógica para este 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

DependencyObject

O pai lógico desse elemento.

Exemplos

O exemplo a seguir verifica se o Parent de um TextPointer é de um tipo específico.

// Traverse content in forward direction until the position is immediately after the opening 
// tag of a Run element, or the end of content is encountered.
while (position != null)
{
    // Is the current position just after an opening element tag?
    if (position.GetPointerContext(LogicalDirection.Backward) == TextPointerContext.ElementStart)
    {
        // If so, is the tag a Run?
        if (position.Parent is Run)
            break;
    }

    // Not what we're looking for; on to the next position.
    position = position.GetNextContextPosition(LogicalDirection.Forward);
}
' Traverse content in forward direction until the position is immediately after the opening 
' tag of a Run element, or the end of content is encountered.
Do While position IsNot Nothing
    ' Is the current position just after an opening element tag?
    If position.GetPointerContext(LogicalDirection.Backward) = TextPointerContext.ElementStart Then
        ' If so, is the tag a Run?
        If TypeOf position.Parent Is Run Then
            Exit Do
        End If
    End If

    ' Not what we're looking for on to the next position.
    position = position.GetNextContextPosition(LogicalDirection.Forward)
Loop

Comentários

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 como atravessar árvores lógicas e os cenários em que adotar essa abordagem para a descoberta de elementos é apropriado.

O sistema de propriedades 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 reparentados.

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 FrameworkContentElement valores de propriedade do pai. Para modelos, o Parent modelo eventualmente será null. Para superar esse ponto e estender para a árvore lógica em que o modelo é realmente aplicado, use TemplatedParent.

Aplica-se a

Confira também