Przewijanie do konkretnego miejsca strony w kontrolce WebBrowser WPF

Jakiś czas temu szukałem sposobu na przewinięcie strony w kontrolce WebBrowser w WPF. Trochę się z tym męczyłem, trochę też szukałem na sieci i wszędzie nie było jakichś sprytnych prostych rozwiązań. Było kilka patentów z wstrzykiwaniem java scriptu do strony, ale nie wydawało mi sie to eleganckie.

Udało mi się jednak znaleźć inny sposób, który jest dość prosty więc się nim dzielę.

Po pierwsze element do którego chcemy przewinąć musi mieć określone ID – kiedyś nie było to zbyt popularne, ale teraz już bardzo wiele stron ma ponadawane ID kolejnym tagom, więc nie powinno być z tym wielkiego problemu. Jeżeli sami generujemy stronę to tym bardziej jest to proste.

Jak znamy ID naszego tagu to kod wygląda tak – kod jest VB.NET

Dim doc = WebBrowserDokument.Document
Dim d = doc.getElementById(sp.id.ToString)
d.scrollIntoView()
 Jeżeli jednak nie znamy ID – wtedy mamy wersję trudniejszą, ale też możemy skorzystać z kolekcji getElementsByTagName i wtedy po prostu przenieść się do któregoś z elemntów tej kolekcji.
Mam nadzieję, że ten przykład był pomocny.