2014-09-10 68 views
0

我想使用DataGrid,其中某些列需要是可点击的命令。我可能会将它们设置为超链接,所以我可以使用带有按钮或DataGridHyperlinkColumn的DataGridTemplateColumn。WPF DataGrid - 用键盘单击单元格中的按钮

但是,最终产品的用户希望能够使用键盘作为拾取鼠标的替代方法。

因此,用户可以使用箭头键导航到问题单元格,然后显而易见的是按下“Enter”键。如果我不将Enter键锁定在子类的OnPreviewKeyDown中,则DataGrid将移至下一行。但是一旦我把它捕获了,我如何使它与点击单元格内容的效果相同?

+0

将两个事件绑定到相同的'Command'。 – 2014-09-10 12:21:07

回答

0

你有没有尝试设置KeyboardNavigation类的属性在网格单元格内容的XAML模板,e.g:

<TextBox Text="{Binding Path=SomeValue, Mode=TwoWay}" 
      KeyboardNavigation.IsTabStop="True" 
      KeyboardNavigation.TabIndex="0" /> 

有多种特性,它可以帮助您配置键盘导航。

+0

我刚刚尝试在DataGridTemplateColumn中的按钮元素上设置KeyboardNavigation.AcceptsReturn =“True”,它不会按照我的要求进行操作。 – milesb 2014-09-10 13:31:35

+0

和你试试其他属性? – AwkwardCoder 2014-09-10 13:55:06

+0

是的,我做了,不,它没有工作。 – milesb 2014-09-10 14:24:50