2014-09-10 78 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