禁用在UWP中滑动Pivot的左/右功能

时间:2017-04-12 07:07:40

标签: c# uwp pivot

我想用ScrollViewer覆盖我的支点,但它不起作用,因为pivot拥有它的scrollviewer本身。所以我想知道如何禁用向左/向右滑动以更改Pivot的标签。

注意:无法使用IsHitTestVisible="True",因为它会禁用Pivot的所有互动,包括点击标题以更改标签

1 个答案:

答案 0 :(得分:1)

如果要在数据透视表上禁用向左/向右滑动,但仍希望在点按标题时导航到不同的数据透视表项,则需要在指针为{时在数据透视表上的HorizontalScrollMode上禁用ScrollViewer {1}}或PointerEntered

首先要执行此操作我们需要获得PointerMoved内部ScrollViewer的访问权限。为此,我使用了一个帮助方法,我从SO的答案中复制了一个。

Pivot

现在位于public static T FindChildByName<T>(DependencyObject parent, string childName) where T : DependencyObject { if (parent == null) return null; T foundChild = null; int childrenCount = VisualTreeHelper.GetChildrenCount(parent); for (int i = 0; i < childrenCount; i++) { var child = VisualTreeHelper.GetChild(parent, i); T childType = child as T; if (childType == null) { foundChild = FindChildByName<T>(child, childName); if (foundChild != null) break; } else if (!string.IsNullOrEmpty(childName)) { var frameworkElement = child as FrameworkElement; if (frameworkElement != null && frameworkElement.Name == childName) { foundChild = (T)child; break; } } else { foundChild = (T)child; break; } } return foundChild; } ,激活活动Pivot,您的Pivot_Loaded应显示如下内容。

Pivot_Loaded

这样做的全部想法来自blog帖子。

祝你好运。