我想检测屏幕上的触摸,然后触发一些操作。但是我需要排除一些区域,例如一个翻转窗口。这意味着在翻转视图窗口内,没有触摸检测,只有翻转动作起作用。
使用以下代码,它将检测整个屏幕上的触摸动作。但这不是我想要的。
Windows.UI.Input.GestureRecognizer gr = new Windows.UI.Input.GestureRecognizer();
this.PointerPressed += MainPage_PointerPressed;
void MainPage_PointerPressed(object sender, PointerRoutedEventArgs e)
{
var ps = e.GetIntermediatePoints(null);
if (ps != null && ps.Count > 0)
{
gr.ProcessDownEvent(ps[0]);
e.Handled = true;
}
my_action();
}
答案 0 :(得分:0)
如何在排除某些区域的同时进行触摸检测?
PointerPressed
事件将通过FlipView
冒泡到Page。如果您没有在FlipView
中handle进行此事件,则页面最终将捕获PointerPressed
。根据您的要求,您需要在冒泡之前先处理FlipView
PointerPressed
。
public TestPage()
{
this.InitializeComponent();
this.PointerPressed += TestPage_PointerPressed;
FFlipView.PointerPressed += FFlipView_PointerPressed;
}
private void FFlipView_PointerPressed(object sender, PointerRoutedEventArgs e)
{
e.Handled = true;
}
private void TestPage_PointerPressed(object sender, PointerRoutedEventArgs e)
{
}