当UWP中存在枢轴时,滑动手势不起作用

时间:2017-08-20 06:04:06

标签: c# uwp

我正在设计一个UWP,我想添加一个滑动手势来打开我的汉堡菜单。但是,在我的一个页面中,我添加了一个数据透视表,然后滑动手势不会打开菜单,而是切换数据透视表。

如何让他们在同一页面上活着?

这是关于滑动手势的代码: (thx to http://blog.csdn.net/github_36704374/article/details/59580697

namespace Humberger  
{  
public sealed partial class MainPage : Page  
{  
    private double x = 0;                       //用来接收手势水平滑动的长度   


    public MainPage()  
    {  
        this.InitializeComponent();  


        this.ManipulationMode = ManipulationModes.TranslateX;            //设置这个页面的手势模式为横向滑动  
        this.ManipulationCompleted += The_ManipulationCompleted;         //订阅手势滑动结束后的事件   
        this.ManipulationDelta += The_ManipulationDelta;                 //订阅手势滑动事件  


    }  


    //手势滑动中  
    private void The_ManipulationDelta(object sender, ManipulationDeltaRoutedEventArgs e)  
    {  
        x += e.Delta.Translation.X;     //将滑动的值赋给x   
    }  


    //手势滑动结束  
    private void The_ManipulationCompleted(object sender, ManipulationCompletedRoutedEventArgs e)  
    {  
        if (x > 100)                    //判断滑动的距离  
            MySplit.IsPaneOpen = true;    //打开汉堡菜单  
        if (x < -100)  
            MySplit.IsPaneOpen = false;   //关闭汉堡菜单  
        x = 0;  //清零x,不然x会累加  
    }  


    //汉堡菜单点击事件  
    private void Humberger_Click(object sender, RoutedEventArgs e)  
    {  
        MySplit.IsPaneOpen = !MySplit.IsPaneOpen;  
    }  
}  

}

1 个答案:

答案 0 :(得分:4)

是的,PivotHub控件会吞下所有水平用户输入。但是,如果你只是想从边缘滑动以带出菜单的抽屉,这就是一个技巧 -

  

Pivot提供1px 左边距

这样做将允许主机元素在从设备边缘滑动时接收触摸操作。

几年前我在这个video做了一件事,其中来自Telerik的PivotRadSideDrawer。此RadSideDrawer控件现在作为Telerik UI for UWP

的一部分开源

我还推出了自己的SwipeableSplitView控件,解释为here

希望这有帮助!