Windows Phone 8.1 WinJS Appbar 已禁用 属性 无法正常工作

Windows Phone 8.1 WinJS Appbar disabled property not working

我试图隐藏(禁用)appBar,这样它就不会显示在我的应用程序的页面上。但是 disabled 属性 似乎不起作用,或者我的语法不正确。我试过像这样使用它:

<script>
    var disabled = appBar.disabled;
    appBar.disabled = disabled;
</script>

<script>
    var disabled = appBar.disabled;
    appBar.disabled = true;
</script>

但 appBar 仍然可见。在这两种情况下,我都将脚本放在 HTML:

的正下方
<!-- BEGINTEMPLATE: Template code for an app bar -->
<div id="appBar" data-win-control="WinJS.UI.AppBar" data-win-options="{closedDisplayMode:'minimal', disabled: false}">
    <button data-win-control="WinJS.UI.AppBarCommand" data-win-options="{id:'cmdAbout', label:'about...', section:'selection'}"></button>
</div>
<!-- ENDTEMPLATE -->
<div id="statusMessage"></div>

<script>
    var disabled = appBar.disabled;
    appBar.disabled = true;
</script>

我做错了什么?

你是否正确地初始化了appBar变量?它未在您的代码段中定义。试试这个方法,至少它在我的应用程序中有效。

<script>
(function(){
    var appBar = document.getElementById("appBar");
    if(appBar.winControl) {
        appBar.winControl.disabled = true;
    }
}());
</script>

另外不要忘记 WinJS.UI.processAll 是异步运行的,所以你的脚本不能只放在 HTML 标记之后,它只有在 AppBar 已经已创建。