1
我有一個WPF DataGrid與少數列。現在我嘗試將快捷鍵「Shift + $」添加到DataGrid列之一中。我想要實現的是,當用戶在partipular列上,然後按下「Shift + $」,它會觸發命令。如果其他列上的用戶「Shift + $」用作正常輸入。如何將添加鍵綁定到DataGrid列級別?
任何人都可以給我一些想法,我怎麼能做到這一點?
感謝
京
我有一個WPF DataGrid與少數列。現在我嘗試將快捷鍵「Shift + $」添加到DataGrid列之一中。我想要實現的是,當用戶在partipular列上,然後按下「Shift + $」,它會觸發命令。如果其他列上的用戶「Shift + $」用作正常輸入。如何將添加鍵綁定到DataGrid列級別?
任何人都可以給我一些想法,我怎麼能做到這一點?
感謝
京
選項是有點限制與DataGrid列,我嘗試做這種方式:
<DataGridTextColumn Binding="{Binding Name}">
<DataGridTextColumn.EditingElementStyle>
<Style>
<EventSetter Event="FrameworkElement.Loaded" Handler="DG_NameColumn_Loaded"/>
</Style>
</DataGridTextColumn.EditingElementStyle>
</DataGridTextColumn>
private void DG_NameColumn_Loaded(object sender, RoutedEventArgs e)
{
var tb = sender as TextBox;
tb.InputBindings.Add(new KeyBinding(Commands.DoStuff, new KeyGesture(Key.D4, ModifierKeys.Shift)));
}
不幸的是,這將引發一個異常告訴你Shift + D4不被KeyGesture支持。我認爲你的計劃可能無法解決......
嗨,感謝您的回覆。還試過Shift + D4,它不受支持。你說的是有沒有解決我的問題? – Jing 2011-05-10 01:47:40
我不知道,雖然看起來不像...... – 2011-05-10 09:05:38
@ H.B。我也有類似的問題。我在DataGridColumnHeader中有一個文本框,並且希望當我按下該文本框上的Enter鍵時可以觸發一個命令。那可能嗎?我試過這個答案:http://stackoverflow.com/a/12943306/2284240,但我沒有那麼幸運。我的意思是我把'kb => kb.Key == e.Key && .........'改成了'kb => kb.Key == Key.Enter'。在應用上述更改後,當我按下箭頭鍵等任何鍵時,該命令也會觸發。我可以限制,只有輸入密鑰? – Vishal 2015-04-06 00:35:44