メソッド OnKeyDownHandler の例があります。
private void OnKeyDownHandler(object sender, KeyEventArgs e)
{
if (e.Key == Key.Delete)
{
if (sender == listBox)
listItemDelete();
if (sender == dataGrid)
dataGridItemDelete();
}
}
私はDataGridとを持っていListBoxます。を押してアイテムを選択すると、アイテムを削除したいと思いDelete-Keyます。
ここで、次の状況を経験します。
私はSelectedItem私の中にlistBoxあり、それに焦点を当てています。を押すと、Deletey-KeyトリガーOnKeyDownHandler-Eventされます。
私はSelectedItem私の中にdataGridあり、それに焦点を当てています。を押してもDelete-Key、OnkeyDownHandler-Eventトリガーされません。
のような他のキーを押すPaste-Keyと、OnKeyDownHandler-Event がトリガーされます。
Delete-Keyの を押しても、イベントが呼び出されませんdataGrid。何故ですか?私はそれを説明することはできません。
編集:XAMLコード
<DataGrid KeyDown="OnKeyDownHandler" />
<ListBox KeyDown="OnKeyDownHandler" />