在Windows Phone 8.1数据透视控件中禁用滑动手势

时间:2015-01-07 05:51:30

标签: xaml windows-phone-8.1 win-universal-app

我正在制作通用应用。对于Windows手机部分,我已经在其中实现了一个数据透视页面。现在我想要禁用枢轴页面中的滑动手势(用于导航不同的枢轴项目),以便仅在点击第一个PivotItem上的按钮时显示第二个PivotItem。我尝试将Pivot控件的IsHitTestVisible属性设置为false,但然后阻止所有PivotItem。

1 个答案:

答案 0 :(得分:1)

它违反 WINDOWS用户界面指南,不应该真正实现。

然而,为了理论,如果没有别的,你可以做这样的事情。

考虑您有5个透视项目,将您的第一个和最后一个PivotItem命名为

<controls:PivotItem Header="Item1" Name="first">
...

 <controls:PivotItem Header="Item5" Name="last">

处理Pivot的LoadingPivotItemLoadedPivotItem事件。然后你可以这样做:

//class level variable we use for the current pivot
PivotItem currentItem = null;

private void Pivot_LoadingPivotItem(object sender, PivotItemEventArgs e)
{
//if the next item is going to be "first" pivot
//and the previous item was the "last" pivot...
if (e.Item == first && currentItem == last)
{
  //...reset the Pivot back to the last one.
   mainPivot.SelectedItem = last;
}

//same theory as above but checking if we're 
//sliding to the last one from the first one
if (e.Item == last && currentItem == first)
{
   mainPivot.SelectedItem = first;
}
}

private void mainPivot_LoadedPivotItem(object sender, PivotItemEventArgs e)
{
 //once the pivot is loaded, update the currentItem
 currentItem = e.Item;
}

希望这有效.. 对于任何查询..还原。