使用单手指禁用UWP scrollviewer中的平移

使用单手指禁用UWP scrollviewer中的平移,uwp,scrollview,Uwp,Scrollview,我想用一根手指禁用UWP scrollviewer的平移。相反,我想用两个手指平移 提前感谢如果您想用一根手指禁用UWP scrollviewer的平移,您应该能够将scrollviewer的水平滚动模式和垂直滚动模式设置为禁用。当您使用两个手指时,它无法滚动 您应该能够在ScrollViewer上检测手指的数量。如果有一个手指,我们可以将ScrollViewer的HorizontalScrollMode和VerticalScrollMode设置为禁用。如果有两个手指,我们可以将ScrollVi

我想用一根手指禁用UWP scrollviewer的平移。相反,我想用两个手指平移


提前感谢

如果您想用一根手指禁用UWP scrollviewer的平移,您应该能够将
scrollviewer的
水平滚动模式
垂直滚动模式
设置为
禁用
。当您使用两个手指时,它无法滚动

您应该能够在
ScrollViewer
上检测手指的数量。如果有一个手指,我们可以将
ScrollViewer
HorizontalScrollMode
VerticalScrollMode
设置为
禁用。如果有两个手指,我们可以将
ScrollViewer
水平滚动模式
垂直滚动模式
设置为
启用

要检测ScrollViewer上的手指数,我们应该能够监听指针事件。有一种方法可以监听指针事件

例如:


背后的代码:

HashSet\u指针=新HashSet();
私有void MyScrollViewer_PointerCaptureLost(对象发送方,PointerRoutedEventArgs e)
{
_移除(GetPoint(e));
}
私有void MyScrollViewer_pointerExit(对象发送方,PointerRoutedEventArgs e)
{
_移除(GetPoint(e));
}
私有void MyScrollViewer_PointerEntered(对象发送方,PointerRoutedEventArgs e)
{
_添加(GetPoint(e));
WriteLine(“点数为”+_pointers.Count);
如果(_pointers.Count>=2)
{
MyScrollViewer.HorizontalScrollMode=ScrollMode.Enabled;
MyScrollViewer.VerticalScrollMode=ScrollMode.Enabled;
}
其他的
{
MyScrollViewer.HorizontalScrollMode=ScrollMode.Disabled;
MyScrollViewer.VerticalScrollMode=ScrollMode.Disabled;
}
}
uint GetPoint(PointerRoutedEventArgs e)
{
返回e.GetCurrentPoint(MyScrollViewer).PointerId;
}
我可以在wpf中使用
PanningMode=“VerticalOnly”