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.
public static 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

Комментарии

Узлы в визуальном дереве могут быть либо VisualVisual3D объектами. Методы, относящиеся к типу визуального объекта, типируются как 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)

Возвращает область клипа указанного VisualGeometry значения.

GetContentBounds(Visual)

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

GetContentBounds(Visual3D)

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

GetDescendantBounds(Visual)

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

GetDescendantBounds(Visual3D)

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

GetDpi(Visual)

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

GetDrawing(Visual)

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

GetEdgeMode(Visual)

Возвращает пограничный режим указанного VisualEdgeMode значения.

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 визуального элемента. Его можно вызывать только в визуальном элементе без родительского элемента.

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