如何在UWP应用程序中的ScrollViewer中激活UIElement的PointerReleased事件?

时间:2016-02-04 11:41:17

标签: windows-10 win-universal-app windows-10-mobile windows-10-universal

我的内部有一个ScrollViewer我的UWP应用中有一个GridGrid内部有一些TextBlocks和一个image元素。我希望只要image中有向右或向左滑动,就可以查找Grid元素的来源。我使用了Pointer Manipulation事件,我的代码如下

private void MiddleGrid_PointerReleased(object sender, PointerRoutedEventArgs e)
   {
       Y2 = e.GetCurrentPoint(MiddleGrid).Position.Y;
       X2 = e.GetCurrentPoint(MiddleGrid).Position.X;

       if (Math.Abs(Y2 - Y1) < 60)
       {
           if (X2 - X1 > 40)
           {
               PreviousImage();
           }
           if (X1 - X2 > 40)
           {
               NextImage();
           }
       }

   }

   private void MiddleGrid_PointerPressed(object sender, PointerRoutedEventArgs e)
   {

       ((Grid)sender).CapturePointer(e.Pointer);
       Y1 = e.GetCurrentPoint(MiddleGrid).Position.Y;
       X1 = e.GetCurrentPoint(MiddleGrid).Position.X;

   }

但由于Grid包含在ScrollViewer中,因此只会触发PointerPressed事件。如何激活PointerReleased事件?我甚至在我的Page_Loaded事件中尝试了以下内容

MiddleGrid.PointerPressed += MiddleGrid_PointerPressed;
        this.AddHandler(PointerReleasedEvent,new PointerEventHandler(MiddleGrid_PointerReleased),true);

我无法更改应用的整体布局,因为它会降低其不太直观。 我怎样才能做到这一点?

0 个答案:

没有答案