La meilleure façon que j'ai utilisé jusqu'ici est d'utiliser la classe VisualTreeHelper
pour trouver l'objet ScrollViewer
correct (grille ou pas de grille). J'ai utilisé cela dans plusieurs projets.
Essayez ceci si l'un de vous en avez besoin:
private static bool ScrollToOffset(DependencyObject n, double offset)
{
bool terminate = false;
for (int i = 0; i < VisualTreeHelper.GetChildrenCount(n); i++)
{
var child = VisualTreeHelper.GetChild(n, i);
if (child is ScrollViewer)
{
(child as ScrollViewer).ScrollToVerticalOffset(offset);
return true;
}
}
if (!terminate)
for (int i = 0; i < VisualTreeHelper.GetChildrenCount(n); i++)
terminate = ScrollToOffset(VisualTreeHelper.GetChild(n, i), offset);
return false;
}
Note: J'utilise généralement des classes ListBox et passerais directement à cette fonction. Bonne programmation :)
Merci pour la réponse rapide! C'était exactement ce que je cherchais, je l'ai déjà mis en œuvre et je travaille :) – stevosaurus