Поделиться через


FrameworkContentElement.Parent Свойство

Определение

Возвращает родительский элемент в логическом дереве для этого элемента.

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

Значение свойства

Логический родительский элемент для этого элемента.

Примеры

В следующем примере проверяется, является ли ParentTextPointer объект определенного типа.

// 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

Комментарии

Обратите внимание, что логический родительский элемент элемента может измениться в зависимости от функциональных возможностей приложения, и сохранение значения этого свойства не будет отражать это изменение. Как правило, вы должны получить значение непосредственно перед его необходимостью.

Дополнительные сведения о обходе логических деревьев см. в деревах в WPF и сценариях, в которых этот подход подходит для обнаружения элементов.

Система свойств потенциально пересчитывает все значения свойств элемента при повторном использовании, так как некоторые свойства наследуют значения по логическому дереву. Применимое DataContext к привязкам также может измениться при повторном использовании элементов.

Изменение родительского элемента обычно выполняется только с помощью манипуляций с коллекциями, с помощью выделенных методов добавления или удаления или настройки свойств содержимого элементов.

Наиболее типичным сценарием использования Parent свойства является получение ссылки, а затем получение различных FrameworkContentElement значений свойств от родительского элемента. Для шаблонов Parent в конечном итоге будет использоваться nullшаблон. Чтобы перейти к этой точке и расширить его в логическом дереве, где фактически применяется шаблон, используйте TemplatedParent.

Применяется к

См. также раздел