private void TreeGrid_ItemsSourceChanged(object sender, TreeGridItemsSourceChangedEventArgs e)
 {
     if (ViewModel is not ProjectExplorerViewModel viewModel)
     {
         return;
     }
     if (TreeGrid == null)
     {
         return;
     }
     if (TreeGrid.View != null)
     {
         if (!_isfirsttime)
         {
             if (viewModel.LastSelected != null)
             {
                 TreeGrid.ExpandAllNodes();
                 var rowIndex = this.TreeGrid.ResolveToRowIndex(viewModel.LastSelected);
                 if (rowIndex > -1)
                 {
                     var q           = TreeGrid.ResolveToRowIndex(rowIndex - 1);
                     var columnIndex = this.TreeGrid.ResolveToStartColumnIndex();
                     this.TreeGrid.ScrollInView(new RowColumnIndex(q, columnIndex));
                     TreeGrid.SelectRows(q, q);
                 }
             }
         }
         else
         {
             _isfirsttime = false;
         }
     }
 }
 private void TreeGridFlat_ItemsSourceChanged(object sender, TreeGridItemsSourceChangedEventArgs e)
 {
     if (ViewModel is not ProjectExplorerViewModel viewModel)
     {
         return;
     }
     if (TreeGridFlat == null)
     {
         return;
     }
     if (TreeGridFlat.View != null)
     {
         TreeGridFlat.View.Filter = IsFileInFlat;
         TreeGridFlat.View.RefreshFilter();
         if (!_isfirsttime)
         {
             if (viewModel.LastSelected != null)
             {
                 var rowIndex = TreeGridFlat.ResolveToRowIndex(viewModel.LastSelected);
                 if (rowIndex > -1)
                 {
                     var q           = TreeGridFlat.ResolveToRowIndex(rowIndex - 1);
                     var columnIndex = TreeGridFlat.ResolveToStartColumnIndex();
                     TreeGridFlat.ScrollInView(new RowColumnIndex(q, columnIndex));
                     TreeGridFlat.SelectRows(q, q);
                 }
             }
         }
         else
         {
             _isfirsttime = false;
         }
     }
 }