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