我正在开发一个使用MVVM和Silverlight Telerik RadGrid的C#解决方案。我有一个包含3个网格的视图,每个网格上方都有一组复选框。我可以成功地用tab键切换一组具有焦点的复选框,然后移动到RadGrid,但是当切换到网格中每行的最后一个单元格时,有时我必须用tab键两次才能离开单元格。此外,焦点不会移动到网格中下一行的第一个单元格,而是返回到网格上方的第一个复选框,并且在按to键切换所有复选框后,焦点将返回到网格中的下一行单元格。
我需要能够导航到网格行中的每个单元格,只需单击Tab按钮一次。此外,从最后一个单元格按to键时,焦点应返回到下一行的第一个单元格。应该对每个网格行重复此行为。在这一点上,焦点应该移动到网格之后的下一组复选框。
这是我的网格设置的快照。每行的最后一个单元格包含一个超链接按钮:
<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">发布于 2014-08-23 21:31:28
使用类似以下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);
}https://stackoverflow.com/questions/24298307
复制相似问题