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.
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でサポートされています。