Elm*_*lmo 9 .net c# vb.net windows-runtime
我可以轻松处理1个手指Tapped,DoubleTap并且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
}
Run Code Online (Sandbox Code Playgroud)
但是事件没有获得手指数量的属性,并且当屏幕上存在多于1个触摸接触时它们甚至不会被触发.我也想处理2,3,4,5个手指Tapped,DoubleTap和Holding手势.谁能告诉我怎么做?
小智 4
您必须使用在指针事件(即按下、输入、释放等)上传递的 PointerRoulatedEventArgs 并以困难的方式完成它
每次指针进入控件时都会分配一个唯一的指针 ID。我将创建一个字典,并在按下控件时将每个指针添加到该字典中(显然,当它们退出时将其删除)。然后在现有的点击、双击等处理程序中,只需检查字典中有多少指针并调用适当的处理程序