Есть ли так или иначе, что класс может поймать последний щелчок в приложении? Что-то как
public class MyClickManagerClass
{
public MyClickManagerClass()
{
// subscribe to a global click event
}
private void GlobalClickEventHandler(object sender, EventArgs e)
{
// do something with the click here
}
}
Спасибо за внимание!
Если вы заботитесь только для захвата щелчков мыши в любом месте в указанном в окне
, просто подписавшись на Mousedown
или PreviewMousedown
на уровне окна делает трюк.
Если вы действительно хотите, чтобы это было глобальным для приложения (а не только к окну), вы должны подписаться на IgrapeManager.PreprocessInput
или IgrapeManager.postProcessInput
событие Для событий мыши:
public MyClickManagerClass()
{
InputManager.Current.PreProcessInput += (sender, e) =>
{
if(e.StagingItem.Input is MouseButtonEventArgs)
GlobalClickEventHandler(sender,
(MouseButtonEventArgs)e.StagingItem.Input);
}
}
Обратите внимание, что «отправитель» всегда будет входнымmanager, но вы можете сопоставить координаты на другие элементы управления MouseEventargs.getPosition (Visual)
.