private void DataGrid_SelectionChanged(object sender, SelectionChangedEventArgs e) { lock (_lockObject) { try { if (GridSectionViewModel != null) { if (e != null) { if (e.AddedItems != null) { foreach (var item in e.AddedItems) { if (item is GridRowViewModel) { ((GridRowViewModel)item).IsSelected = true; } } } if (e.RemovedItems != null) { foreach (var item in e.RemovedItems) { if (item is GridRowViewModel) { ((GridRowViewModel)item).IsSelected = false; } } } } GridSectionViewModel.OnSelectionsChanged(); } } catch (Exception ex) { MessageBox.Show(ex.DisplayString()); } } }