Windows 8.1应用程序和顶部与底部边缘手势

时间:2014-11-05 21:55:40

标签: c# xaml windows-runtime touch

我正在实施Windows 8.1。应用程序,我想在边缘手势上显示一些菜单。在顶部边缘手势菜单A和底部手势菜单B.我发现它可能是不可能的。

以下代码

void EdgeGesture_Completed(object sender, EdgeGestureEventArgs e)
{
    if (e.Kind == EdgeGestureKind.Touch)
    {
        Scenario1OutputText.Text = "Invoked with touch.";
    }
    else if (e.Kind == EdgeGestureKind.Keyboard)
    {
        Scenario1OutputText.Text = "Invoked with keyboard.";
    }
    else if (e.Kind == EdgeGestureKind.Mouse)
    {
        Scenario1OutputText.Text = "Invoked with right-click.";
    }
}

我们可以识别触摸,键盘或右键单击是否调用顶部/底部菜单,但EdgeGestureEventArgs不包含任何其他信息。

你知道如何识别边缘手势吗?我的意思是,如果它是顶部或底部边缘手势。

1 个答案:

答案 0 :(得分:1)

标准行为是同时显示顶部和底部。如果您使用内置的AppBar控件,那么您将自动获得此功能。

如果你想分开顶部和底部应用程序栏,那么它更棘手,你需要自己实现它。没有任何直接方法可以判断edgie是从顶部还是从底部触发,但是您可以跟踪PointerEvents,如果EdgeGestureKind是触摸,那么您可以根据指针位置进行猜测。

如果edgie是由键盘或鼠标触发的,则没有区别,因为这些手势不依赖于位置。

另请注意,Windows 10技术预览版中的标准appbar和超级按钮行为与Windows 8.1不同,因此如果您自己实施,则应用程序的行为最终可能会超出您的预期标准。