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
)?