Ответ 1
что помогло мне наконец:
Я вставляю DataGrid:
VirtualizingStackPanel.VirtualizationMode="Standard"
У меня в моем Логическом свойстве Model (класс X): IsSelected
, связан с 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
- вызов NotifyPropertyChange
Он отлично работает.
Но когда у меня много строк, мне нужно прокрутить их, и я нажимаю кнопку "Выбрать все", которая выполняет следующую функцию, он выбирает мне только некоторые строки и не все: (Even хотя все IsSelected в списке true)
public void SelectAll()
{
ListX.All(c => c.IsSelected = true);
}
Я не понимаю, почему это происходит?
что помогло мне наконец:
Я вставляю DataGrid:
VirtualizingStackPanel.VirtualizationMode="Standard"