我正在实施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不包含任何其他信息。
你知道如何识别边缘手势吗?我的意思是,如果它是顶部或底部边缘手势。
答案 0 :(得分:1)
标准行为是同时显示顶部和底部。如果您使用内置的AppBar控件,那么您将自动获得此功能。
如果你想分开顶部和底部应用程序栏,那么它更棘手,你需要自己实现它。没有任何直接方法可以判断edgie是从顶部还是从底部触发,但是您可以跟踪PointerEvents,如果EdgeGestureKind是触摸,那么您可以根据指针位置进行猜测。
如果edgie是由键盘或鼠标触发的,则没有区别,因为这些手势不依赖于位置。
另请注意,Windows 10技术预览版中的标准appbar和超级按钮行为与Windows 8.1不同,因此如果您自己实施,则应用程序的行为最终可能会超出您的预期标准。