VisualTreeHelper.GetChildrenCount(DependencyObject) Metodo
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Restituisce il numero di elementi figlio presenti nell'insieme figlio di un oggetto nell'albero visivo.
public:
static int GetChildrenCount(DependencyObject ^ reference);
static int GetChildrenCount(DependencyObject const& reference);
public static int GetChildrenCount(DependencyObject reference);
function getChildrenCount(reference)
Public Shared Function GetChildrenCount (reference As DependencyObject) As Integer
Parametri
- reference
- DependencyObject
Oggetto visivo di origine.
Restituisce
int
Numero di elementi figlio visivi per l'oggetto visivo di origine fornito.
Esempio
Ecco un esempio di funzione di utilità che può copiare un elenco di elementi figlio di un determinato tipo dall'interno di un albero visivo. Usa i metodi di attraversamento di base GetChildrenCount e GetChild. Usa la ricorsione in modo che gli elementi possano essere trovati indipendentemente dal livello di annidamento all'interno di contenitori intermedi. Usa anche un metodo di estensione IsSubclassOf da System.Reflection che estende il confronto dei tipi per considerare i sottotipi come corrispondenza per un tipo.
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);
}
}