VirtualizingStackPanel + MVVM + wielokrotny wybór

Zaimplementowałem wzór wyboru podobny do opisanego wten post przy użyciu ViewModel do przechowywania wartości IsSelected i przez powiązanieListViewItem.IsSelected do ViewModel IsSelected:

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

Działa ogólnie, ale napotykam poważny problem. Używając aVirtualizingStackPanel jako panel w widoku listy, tylko widocznyListViewItem są tworzone. Jeśli użyję „Ctrl + A”, aby zaznaczyć wszystkie elementy lub używając kombinacji skrótów „Shift + Ctrl + End” na pierwszym przedmiocie, wszystkie elementy zostaną wybrane, ale dla niewidocznych elementów ViewModel nie otrzyma IsSelected ustaw na true. To logiczne, ponieważ jeśliListViewItem nie są tworzone, powiązanie nie działa.

Każdy doświadczył tego samego problemu i znalazł rozwiązanie (poza tym, że nie używałVirtualizingStackPanel)?

questionAnswers(3)

yourAnswerToTheQuestion