在Telerik RadGrid中选择单元格时导航问题

本文关键字:导航 问题 单元格 选择 Telerik RadGrid | 更新日期: 2023-09-27 18:09:10

我正在使用MVVM和Silverlight Telerik RadGrid开发一个c#解决方案。我有一个包含3个网格的视图,每个网格上面都有一组复选框。我可以成功地选择复选框集,然后将焦点移到RadGrid,但是当选择网格中每行的最后一个单元格时,我有时必须选择两次才能离开单元格。此外,焦点不是移动到网格中下一行的第一个单元格,而是返回到网格上方的第一个复选框,在选中所有复选框后,焦点将返回到网格中的下一行单元格。

我需要能够导航到网格行中的每个单元格通过单击Tab按钮只有一次。此外,从最后一个单元格切换后,焦点应该返回到下一行的第一个单元格。应该对每个网格行重复此行为。此时,焦点应该移到网格后的下一组复选框上。

这是我的网格设置的快照。每行的最后一个单元格包含一个超链接按钮:
<telerik:RadGridView 
    Grid.Row="1" 
    AutomationProperties.AutomationId="grdCars"
    x:Name="grdCars"  
    SelectionMode="Single" 
    SelectionUnit="Cell"  
    CanUserResizeColumns="False" 
    CanUserFreezeColumns="False" 
    Style="{StaticResource gridviewStyle}" 
    ShowColumnHeaders="true" 
    ItemsSource="{Binding FilterCarList}" 
    CanUserSortColumns="False" 
    ActionOnLostFocus="CommitEdit" 
    TabNavigation="Local" MinHeight="50" 
    VerticalAlignment="Top" 
    TabIndex="290"  
    CanUserDeleteRows="False">

在Telerik RadGrid中选择单元格时导航问题

使用这样的东西XAML:

<telerik:RadGridView  KeyDown="grd_KeyDown"/>
c#

private void grd_KeyDown(object sender, KeyEventArgs e)
                {
                    if (e.Key == Key.Return || e.Key == Key.Tab)
                    {
                        MoveToNext();
                        //e.Handled = true;
                    }
                }
        private void MoveToNext()
                {
                    var cmd = RadGridViewCommands.MoveNext as RoutedUICommand;
                    cmd.Execute(null, grd);
                }