我可以轻松处理 1 根手指Tapped
, DoubleTap
and Holding
像这样的手势:
public MainPage()
{
this.InitializeComponent();
this.Tapped += mc_Tapped;
this.DoubleTapped += mc_DoubleTapped;
this.Holding += mc_Holding;
}
public void mc_Tapped(object sender, TappedRoutedEventArgs e)
{
//Tap
}
public void mc_DoubleTapped(object sender, DoubleTappedRoutedEventArgs e)
{
//DoubleTap
}
public void mc_Holding(object sender, HoldingRoutedEventArgs e)
{
//Hold
}
但是这些事件没有获取手指数量的属性,并且当屏幕上存在超过 1 个触摸接触时,它们甚至不会被触发。我还想处理 2、3、4、5 个手指Tapped
, DoubleTap
and Holding
手势。谁能告诉我该怎么做?
您必须使用在指针事件(即按下、输入、释放等)上传递的 PointerRoulatedEventArgs 并以困难的方式完成它
每次指针进入控件时都会分配一个唯一的指针 ID。我将创建一个字典,并在按下控件时将每个指针添加到该字典中(显然,当它们退出时将其删除)。然后在现有的点击、双击等处理程序中,只需检查字典中有多少指针并调用适当的处理程序
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)