Оберните StackPanel
в другую панель
WPF ScrollViewer пытается прокрутить все элементы за раз, поэтому вы видите поведение прокрутки с перескоком. Вложив StackPanel в другую панель, ScrollViewer попытается прокрутить весь StackPanel в представление, которое слишком велико, поэтому будет использоваться плавная прокрутка.
Вот пример - удаление DockPanel даст вам скачкообразную прокрутку, но с ней вы получите плавную прокрутку
<ScrollViewer VerticalScrollBarVisibility="Auto" CanContentScroll="True" Height="250">
<DockPanel>
<StackPanel Name="basePanel" Orientation="Vertical" Width="200">
<Rectangle Height="75" Fill="Red" Width="200" />
<Rectangle Height="50" Fill="Orange" Width="200" />
<Rectangle Height="75" Fill="Yellow" Width="200" />
<Rectangle Height="75" Fill="Green" Width="200" />
<Rectangle Height="75" Fill="Black" Width="200" />
<Rectangle Height="75" Fill="Purple" Width="200" />
</StackPanel>
</DockPanel>
</ScrollViewer>