VisualTreeHelper.GetChildrenCount(DependencyObject) Méthode
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
Retourne le nombre d’enfants qui existent dans la collection enfant d’un objet dans l’arborescence visuelle.
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
Paramètres
- reference
- DependencyObject
Visuel source.
Retours
int
Nombre d’enfants visuels pour le visuel source fourni.
Exemples
Voici un exemple de fonction utilitaire qui peut copier une liste d’éléments enfants d’un type particulier à partir d’une arborescence visuelle. Il utilise les méthodes de traversée de base GetChildrenCount et GetChild. Il utilise la récursivité afin que les éléments puissent être trouvés, quel que soit le niveau d’imbrication dans les conteneurs intermédiaires. Il utilise également une méthode d’extension IsSubclassOf de System.Reflection qui étend la comparaison de types pour considérer les sous-types comme une correspondance pour un 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);
}
}