WPF ListView en dispositivo portátil: desplazamiento extremadamente lento

Tengo un GridView en un ListView contenido en un elemento ScrollViewer.

Entiendo que WPF solo dibuja los datos visibles en tiempo de ejecución, por ejemplo, en las cuadrículas de desplazamiento solo se dibujan las filas visibles. Mi problema es que no tengo tanta potencia como en el escritorio en un dispositivo portátil para el que estoy desarrollando, por lo que mi WPF ListView, que se desplaza bien en mi escritorio, es extremadamente lento en el dispositivo portátil, lo que hace que la página sea inutilizable (solo tengo un smt como 15 filas ocultas).

¿Hay algún truco sucio que pueda usar para solucionar el problema (por ejemplo, desplazarse hacia abajo y luego hacia arriba tan pronto como se cargue la página o algo similar)?

¿Alguna otra idea hacky? ¿Estoy haciendo algo mal?

Cualquier ayuda apreciada!

EDITAR: No importa cuán pequeña sea la cantidad de filas (unas pocas filas ocultas, 3-4), la aplicación se atasca por un tiempo tan pronto como intento desplazarme.

EDITAR: este es mi XAML (estilos eliminados para mayor claridad):

<ScrollViewer Name="scrollViewer" Grid.Row="1">
        <ScrollViewer.Resources>
                <sys:Double x:Key="{x:Static SystemParameters.VerticalScrollBarWidthKey}">60</sys:Double>
        </ScrollViewer.Resources>
        <ListView Name="recordContainer" Grid.Row="1" VirtualizingStackPanel.IsVirtualizing="False" ItemsSource="{Binding RecordCollection}">
            <ListView.View>
                <GridView>
                  <GridViewColumn Header="field1" DisplayMemberBinding="{Binding myField_1}"/>
                  <GridViewColumn Header="field2" DisplayMemberBinding="{Binding myField_2}"/>
                </GridView>
            </ListView.View>
        </ListView>
</ScrollViewer>

Respuestas a la pregunta(5)

Su respuesta a la pregunta