用户选择另一个后重置 DataGrid.SelectedIndex

Reset DataGrid.SelectedIndex after user has selected another

在我正在使用的 UI 中,在 DataGrid 中,有些情况下用户可能 select 不同的行,但在对话交互之后,旧的行需要再次显示为 selected。如果我只是尝试

BundleQueueDG.SelectedIndex = currentBundleIndex;

那什么都不做,事实上,一旦 SelectionChanged 方法退出,它就会更改为新值。 "re-select" 以前 select 编辑的行的最佳方法是什么?

尝试设置 SelectedItem 属性。保留之前选择的内容并将 SelectedItem 设置为之前在您的事件中选择的内容。 像这样:

private void DgDataGrid_OnSelectedCellsChanged(object sender, SelectedCellsChangedEventArgs e)
    {
        int newIndex = (sender as DataGrid).SelectedIndex / 2;
        if (Convert.ToInt32(newIndex) >= 1)
            (sender as DataGrid).SelectedItem = previous;
        else
        {
            previous = (sender as DataGrid).CurrentItem;
        }
    }