Подтвердить что ты не робот

IsSelected Binding в WPF DataGrid

У меня в моем Логическом свойстве 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);
}

Я не понимаю, почему это происходит?

4b9b3361

Ответ 1

что помогло мне наконец:

Я вставляю DataGrid:

VirtualizingStackPanel.VirtualizationMode="Standard"