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; } } }