В UWP почти все элементы управления могут получать события от клавиатуры или мыши.
кнопка не принимает нажатие левой кнопки
Если вы просто слушаете Button.Click
событие, он может только определить, нажата ли кнопка. Методом запуска может быть мышь или палец и др. c. Для пальца нет разницы влево-вправо.
Вы можете прослушивать PointerPressed
событие
private void Button_PointerPressed(object sender, PointerRoutedEventArgs e)
{
var pointer = e.GetCurrentPoint(sender as Button);
if (pointer.PointerDevice.PointerDeviceType == Windows.Devices.Input.PointerDeviceType.Mouse)
{
if (pointer.Properties.IsLeftButtonPressed)
{
// do something...
}
}
}
Кроме того, события, связанные с указателем, включают PointerEntered
, PointerExited
, et c.
Для событий клавиатуры вы можете прослушивать такие события, как KeyDown
и KeyUp
.
Например:
private void TextBox_KeyDown(object sender, KeyRoutedEventArgs e)
{
if (e.Key == Windows.System.VirtualKey.Enter)
{
// do something...
}
}
Если вы хотите узнать больше, эти документы могут быть полезны: