我在default.html中声明了一个AppBar,可以在整个应用程序中使用。
在某些页面上我需要显示App Bar,而在某些页面中我需要隐藏AppBar。
到目前为止,我努力寻找隐藏和展示AppBar的方法已经走到了尽头。
MSDN上的文档说:
AppBar.hide method : Hides the app bar on Windows and the secondary command menu on Windows Phone.
因此,该方法仅隐藏AppBar for Windows而不是Windows Phone项目。
我也试过将display:none
作为CSS样式,但没效果。
任何帮助将不胜感激:)
答案 0 :(得分:4)
AppBar.Hide隐藏了Windows Phone上的辅助命令栏,而不是主AppBar。如果您希望整个AppBar消失,那么这不是正确的属性。
最简单的方法是在您想要显示它的页面上声明AppBar并将其留在您不想要它的页面上,但是您应该可以通过在页面上禁用AppBar来隐藏它你不想要它。
我刚刚修改了HTML AppBar control sample中的appbar-commands.js文件,如下所示,当我点击隐藏和显示按钮时,appbar隐藏并显示:
// 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函数。
答案 1 :(得分:2)
您必须使用C#进行操作,您只需输入..(如果您的appbar名为 ApplicationBar )
ApplicationBar.Visibility = Visibility.Collapsed;
这会立即隐藏AppBar!如果您希望HTML页面执行此操作,则会非常复杂。
干杯
答案 2 :(得分:0)
我认为您可以在代码中尝试以下步骤。
一切顺利...... !!