En faisant des recherches sur le forum, j'ai utilisé cette méthode dans une classe statique :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
| public static class Tools
{
public static IEnumerable<T> GetChildrenOfType<T>(this UIElement element)
where T : UIElement
{
int count = VisualTreeHelper.GetChildrenCount(element);
for (int i = 0; i < count; i++)
{
FrameworkElement child = (FrameworkElement)VisualTreeHelper.GetChild(element, i);
if (typeof(T).IsAssignableFrom(child.GetType()))
yield return child as T;
foreach (var frameworkElement in GetChildrenOfType<T>(child))
yield return frameworkElement;
}
}
} |
mais lorsque je l'applique à ma datagrid, je ne peux pas mettre ".FirstOrDefault" comme l'exemple qui était sur le forum, donc j'ai voulu testé ce que ça me ramenait :
var test = (dataGrid.GetChildrenOfType<ScrollViewer>());
Dans ma variable test, tout est à null.
Ceci étant nouveau pour moi, pourriez-vous m'expliquer ce que j'ai fait de mal?
Merci
Partager