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 オブジェクトにすることができます。 ビジュアル オブジェクトの種類に固有のメソッドは、どちらかVisualVisual3Dとして型指定されます。 ただし、クラス内の一部の VisualTreeHelper メソッドは、いずれかの種類のビジュアル オブジェクトを DependencyObject 表す値を受け取ることができます。

WPF では、オブジェクトのいくつかの異なるツリー構造へのプログラムによるアクセスがサポートされています。 主に、これはビジュアル ツリーと論理ツリーとして公開されます。 場合によっては、論理ツリーは WPF アプリケーション内の要素のより便利な表現ですが、概念的には論理ツリーはクラスを超える Visual レベルで実装されます。 ビジュアル ツリーとは異なり、論理ツリーは、次のような ListItem非ビジュアル データ オブジェクトを表すことができます。 論理ツリーについて詳しくは、「WPF のツリー」をご覧ください。 論理ツリーも同様のユーティリティ メソッド クラス LogicalTreeHelperでサポートされています。

メソッド

GetBitmapEffect(Visual)

指定した BitmapEffectVisual 値を返します。

GetBitmapEffectInput(Visual)

指定した BitmapEffectInputVisual 値を返します。

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)

TransformVisual 値を返します。

GetXSnappingGuidelines(Visual)

X 座標 (垂直) ガイドライン コレクションを返します。

GetYSnappingGuidelines(Visual)

Y 座標 (水平) ガイドライン コレクションを返します。

HitTest(Visual, HitTestFilterCallback, HitTestResultCallback, HitTestParameters)

呼び出し元が定義した HitTestFilterCallback メソッドと HitTestResultCallback メソッドを使って、指定した Visual に対してヒット テストを開始します。

HitTest(Visual, Point)

Point を指定して、ヒット テストの最上位の Visual オブジェクトを返します。

HitTest(Visual3D, HitTestFilterCallback, HitTestResultCallback, HitTestParameters3D)

呼び出し元が定義した HitTestFilterCallback メソッドと HitTestResultCallback メソッドを使って、指定した Visual3D に対してヒット テストを開始します。

SetRootDpi(Visual, DpiScale)

ビジュアルの DPI 情報を更新します。 親なしのビジュアルでのみ呼び出すことができます。

適用対象