mam w moim modelu (klasa X) właściwości Boolean: IsSelected
, jest połączony z WPF DataGrid
następująco:IsSelected Wiązanie w WPF DataGrid
<DataGrid SelectedIndex="{Binding SelectedXIndex,Mode=TwoWay}"
DataContext="{Binding MyViewModel}"
ItemsSource="{Binding ListX}" AutoGenerateColumns="False">
<DataGrid.RowStyle>
<Style TargetType="{x:Type DataGridRow}">
<Setter Property="IsSelected"
Value="{Binding IsSelected, Mode=TwoWay,
UpdateSourceTrigger=PropertyChanged}"/>
</Style>
</DataGrid.RowStyle>
</DataGrid>
ListX
- ObservableCollection
IsSelecte
- Zaproszenie do NotifyPropertyChange
Działa świetnie.
Ale kiedy mam dużo wierszy, które muszę przewijać, aby je zobaczyć, i naciskam przycisk "Wybierz wszystko", który uruchamia następującą funkcję, wybiera tylko kilka wierszy, a nie wszystkie: (mimo wszystko IsSelected na liście jest prawda)
public void SelectAll()
{
ListX.All(c => c.IsSelected = true);
}
nie mogę zrozumieć, dlaczego tak się dzieje?
Widziałeś [to pytanie] (http://stackoverflow.com/q/2068130/620360) z Powiązana sekcja? – LPL
@LPL To mi nie pomogło, odpowiedzi tam nie powiodły się. I mówię o danych zwrotnych od viewModel do XMAL i to pytanie jest odwrotne. –