我的内部有一个ScrollViewer
我的UWP应用中有一个Grid
。 Grid
内部有一些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);
我无法更改应用的整体布局,因为它会降低其不太直观。 我怎样才能做到这一点?