PointerPressed: левая или правая кнопка?
Как я могу получить тип нажатого указателя (левая мышь вниз или правая мышь вниз) в приложении Metro style C#? Я не нашел MouseLeftButtonDown
обработчик событий в любом элементе UI стиля Metro. Я должен использовать событие, но я не знаю, как я могу узнать, какая кнопка была нажата.
2 ответов
PointerPressed достаточно для обработки кнопок мыши:
void MainPage_PointerPressed(object sender, PointerRoutedEventArgs e)
{
// Check for input device
if (e.Pointer.PointerDeviceType == Windows.Devices.Input.PointerDeviceType.Mouse)
{
var properties = e.GetCurrentPoint(this).Properties;
if (properties.IsLeftButtonPressed)
{
// Left button pressed
}
else if (properties.IsRightButtonPressed)
{
// Right button pressed
}
}
}
вы можете использовать следующее событие, чтобы определить, какой указатель используется и какая кнопка нажата.
private void Target_PointerMoved(object sender, PointerRoutedEventArgs e)
{
Windows.UI.Xaml.Input.Pointer ptr = e.Pointer;
Windows.UI.Input.PointerPoint ptrPt = e.GetCurrentPoint(Target);
if (ptrPt.Properties.IsLeftButtonPressed)
{
//Do stuff
}
if (ptrPt.Properties.IsRightButtonPressed)
{
//Do stuff
}
}