另一個datagrid鍵綁定問題WPF datagrid和tab鍵
我有一個數據網格。它有選擇模式設置爲FullRow和KeyboardNavigation.TabNavigation =「一次」,我希望能得到我想要的結果,但它沒有。
當數據網格具有焦點時按Tab鍵時,它將一個一個地在網格中的每個列上進行選擇。因此,如果我在具有4列的網格中進行選擇,我將不得不按4次選項卡才能進入下一個tabindex。
我想要的是讓tab鍵在第一次按下時從數據網格中跳出並將焦點放在下一個tabindex上......如果這樣做有道理。
我試圖覆蓋keydown事件處理程序中的tab鍵,就像這樣。
class BetterDataGrid : DataGrid
{
..............
protected override void OnKeyDown(System.Windows.Input.KeyEventArgs e)
{
..............
if (e.Key == Key.Tab)
{
Console.WriteLine("TAB");
MoveFocus(new TraversalRequest(FocusNavigationDirection.Next));
}
.........
}
它確實將「TAB」寫入控制檯,但該選項卡仍保持其默認行爲。不知道這是否是進入下一個tabindex的正確方式,但是這應該使tab鍵不會做任何事情,而是寫入控制檯或導致異常。
使我認爲覆蓋標籤鍵行爲是不可能的。
希望得到一些有用的意見。
一如既往,在此先感謝。
抱歉,遲到的接受,沒有得到測試的機會,但這是好的。謝謝 – 2011-05-18 00:14:27