VirtualizingStackPanel + MVVM + selección múltiple

He implementado un patrón de selección similar al descrito enesta publicación utilizando un ViewModel para almacenar el valor de IsSelected, y vinculando elListViewItem.IsSelected al ViewModel está seleccionado:

<ListView.ItemContainerStyle>
    <Style TargetType="{x:Type ListViewItem}">
        <Setter Property="IsSelected" Value="{Binding Mode=TwoWay, Path=IsSelected}"/>
    </Style>
</ListView.ItemContainerStyle>

Funciona en general, pero me encuentro con un problema grave. Usando la aVirtualizingStackPanel&nbsp;como el panel en la vista de lista, solo el visibleListViewItem&nbsp;se están creando. Si utilizo "Ctrl + A" para seleccionar todos los elementos, o al usar una combinación de accesos directos como "Shift + Ctrl + End" en el primer elemento, todos los elementos se seleccionan, pero para los elementos no visibles, ViewModel no obtiene su IsSelected establecer en true Eso es lógico, porque si elListViewItem&nbsp;no se crean, el enlace no puede funcionar.

Cualquiera experimentó el mismo problema y encontró una solución (aparte de no usar unVirtualizingStackPanel)?