我在default.html中声明了一个AppBar,可在整个应用程序中使用。
在某些页面上,我需要显示应用栏,在某些页面中,我需要隐藏应用栏。
到目前为止,我在寻找隐藏和显示AppBar的方法上的努力陷入了僵局。
MSDN上的文档说:
AppBar.hide方法:在Windows上隐藏应用程序栏,在Windows Phone上隐藏辅助命令菜单。
因此,该方法仅隐藏Windows的AppBar,而不隐藏Windows Phone项目。
我也尝试过放弃display:none
CSS样式,但没有效果。
任何帮助将不胜感激 :)
AppBar.Hide隐藏Windows Phone上的辅助命令栏,而不隐藏主AppBar。如果您希望整个AppBar消失,那么这不是正确的属性。
最简单的方法是在要显示的页面上声明AppBar,并在不需要的页面上将其保留,但是您应该能够通过在不希望显示的页面上禁用AppBar来隐藏它想要它。
我只是按如下所示修改了HTML AppBar控件示例中的appbar-commands.js文件,并且当我单击“隐藏”和“显示”按钮时,显示和隐藏了应用栏:
// These functions are used by the scenario to show and hide elements
function doShowItems() {
document.getElementById('commandsAppBar').winControl.disabled = false;
//document.getElementById('commandsAppBar').winControl.showCommands([cmdFavorite, cmdCamera]);
document.getElementById('scenarioShowButtons').disabled = true;
document.getElementById('scenarioHideButtons').disabled = false;
}
function doHideItems() {
document.getElementById('commandsAppBar').winControl.disabled = true;
//document.getElementById('commandsAppBar').winControl.hideCommands([cmdFavorite, cmdCamera]);
document.getElementById('scenarioHideButtons').disabled = true;
document.getElementById('scenarioShowButtons').disabled = false;
}
我还用单页导航模型在两页之间导航进行了确认。如果在禁用和启用后没有看到隐藏和显示的应用栏,请确保您正在调用代码以禁用/启用应用栏。返回到缓存的页面时,可能不会调用PageControl的ready函数。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句