Najlepszym sposobem, jaki dotychczas stosowałem, jest użycie klasy VisualTreeHelper
w celu znalezienia właściwego obiektu ScrollViewer
(siatka lub brak siatki). Używałem tego w kilku projektach.
Spróbuj tego, czy ktoś z was jest to potrzebne:
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;
}
Uwaga: I zazwyczaj korzystają z klasy ListBox i przejdzie bezpośrednio do tej funkcji.
Happy programowanie :)
Dzięki za szybką reakcję! To było dokładnie to, czego szukałem, mam już zaimplementowane i działające :) – stevosaurus