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

備註

視覺樹中的節點可以是 Visual 物件 Visual3D 或物件。 特定於某一視覺物件類型的方法類型為 VisualVisual3D或 。 然而,類別 VisualTreeHelper 中的某些方法可以接受 DependencyObject 代表任一視覺物件類型的值。

WPF 支援對多種不同物件樹狀結構的程式存取。 主要,這會被呈現為視覺樹和邏輯樹。 在某些情況下,邏輯樹是 WPF 應用程式中元素的更實用表示,但從概念上來說,邏輯樹是在類別之外 Visual 的層級實作。 與視覺樹不同,邏輯樹可以表示非視覺的資料物件,例如 ListItem。 如需有關邏輯樹的更多資訊,請參閱 WPF 中的樹狀結構。 邏輯樹也由類似的效用方法類別 LogicalTreeHelper支援。

方法

名稱 Description
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)

會將指定的 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)

在指定的 VisualHitTestFilterCallbackHitTestResultCallback 及 方法上啟動命中測試。

HitTest(Visual, Point)

透過指定 Visual一個 ,回傳命中測試的最高Point對象。

HitTest(Visual3D, HitTestFilterCallback, HitTestResultCallback, HitTestParameters3D)

在指定的 Visual3DHitTestFilterCallbackHitTestResultCallback 及 方法上啟動命中測試。

SetRootDpi(Visual, DpiScale)

更新視覺化的 DPI 資訊。 它只能在沒有父檔案的視覺檔案上呼叫。

適用於