VisualTreeHelper.GetChild(DependencyObject, Int32) 方法
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
使用提供的索引,藉由檢查視覺化樹狀結構來取得所提供物件的特定子物件。
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.Reflection的IsSubclassOf擴充方法,擴充類型比較,以將子類型視為 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);
}
}