我有一个实例方法OnKeyDownHandler:KeyDownHandler-事件在DataGrid和列表框
private void OnKeyDownHandler(object sender, KeyEventArgs e)
{
if (e.Key == Key.Delete)
{
if (sender == listBox)
listItemDelete();
if (sender == dataGrid)
dataGridItemDelete();
}
}
我有一个DataGrid
和ListBox
。现在我想删除一个项目,当我按Delete-Key
和一个项目被选中。
现在我们通过以下几种情况:
我在listBox
和重点上有一个SelectedItem
。当我按下Deletey-Key
时,会触发OnKeyDownHandler-Event
。
我有一个SelectedItem
在我的dataGrid
和它的重点。当我按下Delete-Key
时,OnkeyDownHandler-Event
不会被触发。
当我按下任何其他键如Paste-Key
时,OnKeyDownHandler-Event将被触发。
当我按我的dataGrid
上的Delete-Key
时,不会调用该事件。这是为什么?我无法解释它。
编辑:XAML码
<DataGrid KeyDown="OnKeyDownHandler" />
<ListBox KeyDown="OnKeyDownHandler" />
你的XAML看起来像什么事件挂钩? – Thelonias 2013-04-30 13:00:01