VisualTreeHelper.GetChild(DependencyObject, Int32) 方法

定義

使用提供的索引,藉由檢查視覺化樹狀結構來取得所提供物件的特定子物件。

public:
 static DependencyObject ^ GetChild(DependencyObject ^ reference, int childIndex);
 static DependencyObject GetChild(DependencyObject const& reference, int const& childIndex);
public static DependencyObject GetChild(DependencyObject reference, int childIndex);
function getChild(reference, childIndex)
Public Shared Function GetChild (reference As DependencyObject, childIndex As Integer) As DependencyObject

參數

reference
DependencyObject

保存子集合的物件。

childIndex
Int32

int

參考子集合中要求之子物件的索引。

傳回

childIndex所參考的子物件。

範例

以下是公用程式函式的範例,可從視覺化樹狀結構中複製特定類型的子專案清單。 它會使用 GetChildrenCount 和 GetChild 的基本周遊方法。 它會使用遞迴,讓元素可以在中繼容器記憶體在巢狀層級中找到。 它也會使用System.ReflectionIsSubclassOf擴充方法,擴充類型比較,以將子類型視為 Type 的相符專案

internal static void FindChildren<T>(List<T> results, DependencyObject startNode)
  where T : DependencyObject
{
    int count = VisualTreeHelper.GetChildrenCount(startNode);
    for (int i = 0; i < count; i++)
    {
        DependencyObject current = VisualTreeHelper.GetChild(startNode, i);
        if ((current.GetType()).Equals(typeof(T)) || (current.GetType().GetTypeInfo().IsSubclassOf(typeof(T))))
        {
            T asType = (T)current;
            results.Add(asType);
        }
        FindChildren<T>(results, current);
    }
}

適用於