我的 Metro 应用程序中有两个不同的场景,每个场景我都需要使用不同的应用栏。
有没有办法让我拥有两个应用栏并根据需要使用它们?
是的,您可以在任何页面中声明任意数量的应用程序/导航栏,并且它们都将出现在 DOM 中。也就是说,在元素中声明应用栏只是在 DOM 中创建元素,它们的行为与任何其他元素一样。但是,这确实意味着,标记中的最后一个(无论哪个出现在 DOM 树中最后一个)将是默认情况下 z-index 中最顶层的那个,因此是接收事件的那个。
那么,您需要做的就是确保隐藏除一个应用栏之外的所有应用栏。剩下的将出现在 Win+Z/向上滑动/右键单击并接收事件。
我设法通过相应地禁用/启用应用栏来找到解决方案
var appbar = document.getElementById('appBar');
var appbarControl = appbar.winControl;
appbarControl.disabled = true;
var appbar2 = document.getElementById('appBar2');
var appbarControl2 = appbar2.winControl;
appbarControl2.disabled = false;