什么控件接受uwp中的所有键盘和鼠标消息(按钮不接受leftbuttondown)

什么控件接受uwp中的所有键盘和鼠标消息(按钮不接受leftbuttondown),uwp,Uwp,我需要一个可以接受所有键盘和鼠标事件的控件。或者自定义控件如何接受键盘和鼠标事件在UWP中,几乎所有控件都可以从键盘或鼠标接收事件 按钮不接受leftbuttondown 如果只听按钮。单击事件,它只能确定是否单击了按钮。触发方法可以是鼠标或手指等。手指没有左右差异 您可以收听PointerPressed事件 private void按钮\u指针按下(对象发送方,PointErroroutedEventArgs e) { var指针=e.GetCurrentPoint(发送器为按钮); if(p

我需要一个可以接受所有键盘和鼠标事件的控件。或者自定义控件如何接受键盘和鼠标事件在UWP中,几乎所有控件都可以从键盘或鼠标接收事件

按钮不接受leftbuttondown

如果只听
按钮。单击
事件,它只能确定是否单击了按钮。触发方法可以是鼠标或手指等。手指没有左右差异

您可以收听
PointerPressed
事件

private void按钮\u指针按下(对象发送方,PointErroroutedEventArgs e)
{
var指针=e.GetCurrentPoint(发送器为按钮);
if(pointer.PointerDevice.PointerDeviceType==Windows.Devices.Input.PointerDeviceType.Mouse)
{
if(指针.Properties.IsLeftButtonPressed)
{
//做点什么。。。
}
}
}
此外,与指针相关的事件包括
PointerEntered
PointerExited

对于键盘事件,您可以侦听诸如
KeyDown
keydup
之类的事件

像这样:

private void TextBox\u KeyDown(对象发送者,KeyRoutedEventArgs e)
{
if(e.Key==Windows.System.VirtualKey.Enter)
{
//做点什么。。。
}
}

如果您想了解更多信息,以下文档可能会有所帮助:

谢谢。我使用addhandler()使按钮接收leftbuttondown。对于自定义控件,您的方法也很好。