VisualTreeHelper Класс

Определение

Предоставляет служебные методы для выполнения типичных задач, связанных с узлами визуального дерева.

public ref class VisualTreeHelper abstract sealed
public static class VisualTreeHelper
type VisualTreeHelper = class
Public Class VisualTreeHelper
Наследование
VisualTreeHelper

Примеры

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

// Enumerate all the descendants of the visual object.
static public void EnumVisual(Visual myVisual)
{
    for (int i = 0; i < VisualTreeHelper.GetChildrenCount(myVisual); i++)
    {
        // Retrieve child visual at specified index value.
        Visual childVisual = (Visual)VisualTreeHelper.GetChild(myVisual, i);

        // Do processing of the child visual object.

        // Enumerate children of the child visual object.
        EnumVisual(childVisual);
    }
}
' Enumerate all the descendants of the visual object.
Public Shared Sub EnumVisual(ByVal myVisual As Visual)
    For i As Integer = 0 To VisualTreeHelper.GetChildrenCount(myVisual) - 1
        ' Retrieve child visual at specified index value.
        Dim childVisual As Visual = CType(VisualTreeHelper.GetChild(myVisual, i), Visual)

        ' Do processing of the child visual object.

        ' Enumerate children of the child visual object.
        EnumVisual(childVisual)
    Next i
End Sub

Комментарии

Узлы в визуальном дереве могут быть либо Visual Visual3D объектами. Методы, относящиеся к типу визуального объекта, типируются как Visual или Visual3D. Однако некоторые методы в VisualTreeHelper классе могут принимать DependencyObject значение, представляющее любой тип визуального объекта.

WPF поддерживает программный доступ к нескольким различным структурам деревьев объектов. В первую очередь это представляется как визуальное дерево и логическое дерево. В некоторых случаях логическое дерево является более полезным представлением элементов в приложении WPF, но концептуально логическое дерево реализуется на уровне за пределами Visual класса. В отличие от визуального дерева, логическое дерево может представлять невизуальные объекты данных, такие как ListItem. Дополнительные сведения о логическом дереве см. в разделе Деревья в WPF. Логическое дерево также поддерживается аналогичным классом метода служебной программы. LogicalTreeHelper

Методы

GetBitmapEffect(Visual)

Возвращает значение BitmapEffect для указанного объекта Visual.

GetBitmapEffectInput(Visual)

Возвращает значение BitmapEffectInput для указанного объекта Visual.

GetCacheMode(Visual)

Извлекает кэшированное представление заданного объекта Visual.

GetChild(DependencyObject, Int32)

Возвращает дочерний визуальный объект с заданным индексом в коллекции заданного родительского объекта.

GetChildrenCount(DependencyObject)

Возвращает число дочерних объектов, содержащихся в заданном визуальном объекте.

GetClip(Visual)

Возвращает отсеченную область для заданного Visual как значение Geometry.

GetContentBounds(Visual)

Возвращает кэшированный ограничивающий прямоугольник для заданного Visual.

GetContentBounds(Visual3D)

Возвращает кэшированный ограничивающий прямоугольник для заданного Visual3D.

GetDescendantBounds(Visual)

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

GetDescendantBounds(Visual3D)

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

GetDpi(Visual)

Возвращает сведения о DPI для измерения и просмотра этого визуального элемента.

GetDrawing(Visual)

Возвращает контекст рисования заданного Visual.

GetEdgeMode(Visual)

Возвращает режим границ заданного объекта Visual как значение EdgeMode.

GetEffect(Visual)

Возвращает эффект растрового изображения для указанного объекта Visual.

GetOffset(Visual)

Возвращает смещение Visual.

GetOpacity(Visual)

Возвращает непрозрачность Visual.

GetOpacityMask(Visual)

Возвращает значение Brush, представляющее маску непрозрачности объекта Visual.

GetParent(DependencyObject)

Возвращает значение DependencyObject, представляющее родительский объект визуального объекта.

GetTransform(Visual)

Возвращает значение Transform для Visual.

GetXSnappingGuidelines(Visual)

Возвращает коллекцию направляющих по оси X (по вертикали).

GetYSnappingGuidelines(Visual)

Возвращает коллекцию горизонтальных направляющих (по оси Y).

HitTest(Visual, HitTestFilterCallback, HitTestResultCallback, HitTestParameters)

Инициирует проверку нажатия в указанном Visual с помощью определяемых вызывающей стороной методов HitTestFilterCallback и HitTestResultCallback.

HitTest(Visual, Point)

Возвращает самый верхний объект Visual для проверки нажатия, указывая Point.

HitTest(Visual3D, HitTestFilterCallback, HitTestResultCallback, HitTestParameters3D)

Инициирует проверку нажатия в указанном Visual3D с помощью определяемых вызывающей стороной методов HitTestFilterCallback и HitTestResultCallback.

SetRootDpi(Visual, DpiScale)

Обновляет сведения о значении DPI визуального элемента. Его можно вызывать только для визуального элемента, который не связан с родительским объектом.

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