In this post, Colin Eberhardt talks about the Silverlight ScrollViewer and demonstrates a simple attached behaviour that exposes the current vertical and horizontal scroll offsets as read / write dependency properties allowing them to be bound to.
The Silverlight ScrollViewer is a very useful control, if you have some content that is larger than the space available in your application, just sit it inside a ScrollViewer and it will automatically add vertical or horizontal scrollbars as required. Simple.
The ScrollViewer exposes readonly properties which indicate the current vertical and horizontal scroll offset. I have been used a ScrollViewer on many occasions without finding this to be an issue, however, recently I was creating an MVVM application which contained a list of items within a ScrollViewer.