How to disable the pivot flick event?

2019-04-01 19:14发布

I'm designing a reading app with pivot control. When coming from the first page, I want to disable the right-flick event so that the user can just flick left to get to the next page. When coming from the last page, I want to disable the left-flick event.

There is a lockablePivot control in Silverlight Toolkit, but this control will disable all the flick event. Would anybody give me some suggestions.

3条回答
女痞
2楼-- · 2019-04-01 20:06

Using a PivotItem like this goes against the UI Guide and shouldn't really be implemented. However, for the sake of theory if nothing else, you could do something like this.

Give your first and last PivotItem a name.

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

Handle the Pivot's LoadingPivotItem and LoadedPivotItem events. You can then do something like this:

//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;
}
查看更多
可以哭但决不认输i
3楼-- · 2019-04-01 20:08

I think you should rethink your design decision here. Metro design language states how pivots work and people are used to this. Changing this will make the user experience worse for people because they expect you to be able to flick round in the pivot.

查看更多
走好不送
4楼-- · 2019-04-01 20:12

Have you looked at the LockablePivot Control in microsoft silverlight toolkit?

http://www.windowsphonegeek.com/articles/Windows-Phone-Toolkit-LockablePivot-in-depth

查看更多
登录 后发表回答