У меня есть пользовательский элемент управления, полученный из элемента управления. События мыши, такие как OnMouseLeftButtonDown (MouseButtonEventArgs e)
, могут использоваться без каких-либо проблем. Теперь я хотел бы комбинацию, например, левой-Ctrl и левой кнопкой мыши. Но я просто не могу отвечать на события клавиатуры в моем «пользовательском элементе управления». Может кто-нибудь дать мне подсказку, как это реализовать?
Этот переопределенный метод работает нормально.
protected override void OnMouseLeftButtonDown(MouseButtonEventArgs e)
{
base.OnMouseLeftButtonDown(e);
if (isKeyCtrlDown)
{
Debug.WriteLine("Test");
}
}
И этот переопределенный метод не будет запущен.
protected override void OnKeyDown(KeyEventArgs e)
{
base.OnKeyDown(e);
if (e.Key == Key.LeftCtrl)
{
isKeyCtrlDown = true;
}
}
protected override void OnKeyUp(KeyEventArgs e)
{
base.OnKeyUp(e);
if (Keyboard.IsKeyUp(Key.LeftCtrl))
{
isKeyCtrlDown = false;
}
}
Спасибо за любую помощь.