I need to implement the IScrollInfo interface, which is a beast from what I have read. But I am struggling with where it should be implemented.

I think it should be in the View because there's a reference to Visual in the [MakeVisible](http://msdn.microsoft.com/en-us/library/system.windows.controls.primitives.iscrollinfo.makevisible.aspx) method. In addition, the ScrollViewer will look for the IScrollInfo interface when you set the CanContentScroll="True". This means that the Custom Panel that arranges my objects will need to inherit the ViewModel or wrap the ViewModel in the view by calling the VM's implementation.

So am I wrong, is it supposed to be in the ViewModel?