C# 用鼠标右键单击选择单元格

C# 用鼠标右键单击选择单元格,c#,.net,wpf,telerik,radgridview,C#,.net,Wpf,Telerik,Radgridview,如何通过鼠标右键单击在RadGridView中选择单元 以下代码不起作用: private void RadGridView_PreviewMouseDown(object sender, MouseButtonEventArgs e) { // ... getting grid and cell if (e.RightButton == MouseButtonState.Pressed) { grid.UnselectAll(); gri

如何通过鼠标右键单击在RadGridView中选择单元

以下代码不起作用:

private void RadGridView_PreviewMouseDown(object sender, MouseButtonEventArgs e)
{
    // ... getting grid and cell
    if (e.RightButton == MouseButtonState.Pressed)
    {
        grid.UnselectAll();
        grid.CurrentCellInfo = new GridViewCellInfo(cell);
        cell.IsCurrent = true;
        cell.IsSelected = true;
    }
}
这很奇怪,但选择行效果很好:

if (e.RightButton == MouseButtonState.Pressed)
{
    grid.UnselectAll();
    row.IsSelected = true;
    row.IsCurrent = true;
}

您是否尝试过grid.SelectionMode=Telerik.WinControl.UI.GridViewSelectionMode.CellSelect?

使用原始源获取单击的单元格(请记住也可以为空)并设置IsSelected值

SelectionMode=GridViewSelectionUnit.cell可能您有代码可以取消选择在选择后立即调用的单元格?我已经检查过了((这是我选择/取消选择单元格的唯一位置…如果您删除grid.CurrentCellInfo=new GridViewCellInfo(单元格);?相同的结果。开关IsSelected和IsCurrent-same。删除IsCurrent-same。您以前是否成功选择过单元格?可能该单元格已被选中,但您没有收到任何反馈?
if (e.RightButton == MouseButtonState.Pressed)
{
    grid.Focus();
    grid.UnselectAll();
    grid.CurrentCellInfo = new GridViewCellInfo(cell);
    grid.SelectedCells.Add(grid.CurrentCellInfo);
}