В большинстве случаев, если вы пытаетесь показать определенный элемент управления, проще вызвать BringIntoView для любого FrameworkElement (Panel, Control и т. Д.), Содержащегося в ScrollViewer, который позаботится обо всех вычислениях размера и смещения.