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());
         }
     }
 }
 public void OnMouseDoubleClick(object sender, MouseButtonEventArgs e)
 {
     GridSectionViewModel.OnDoubleClick();
 }