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