VisualTreeHelper 类
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
提供一些实用工具方法,用于执行涉及可视化树中的节点的常规任务。
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
注解
可视化树中的节点可以是 Visual 或 Visual3D 对象。 特定于视觉对象类型的方法类型化为 Visual 或 Visual3D。 但是,类中的 VisualTreeHelper 某些方法可以接受表示任一 DependencyObject 类型的视觉对象的值。
WPF 支持以编程方式访问对象的多个不同树结构。 这主要是作为可视化树和逻辑树公开的。 在某些情况下,逻辑树是 WPF 应用程序中元素的更有用的表示形式,但从概念上讲,逻辑树是在 类之外的级别实现的 Visual 。 与可视化树不同,逻辑树可以表示非可视数据对象,例如 ListItem。 有关逻辑树的详细信息,请参阅 WPF 中的树。 类似的实用工具方法类 LogicalTreeHelper也支持逻辑树。