FrameworkContentElement.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 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
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.