2012-03-18 40 views
3

我想顯示AppBar當一個頁面片段負荷,但是這個代碼就緒功能正在按預期運行不工作:如何在頁面片段加載時顯示WinJS AppBar?

function ready(element, options) { 
    var appBar = document.getElementById("appBar").winControl; 
    appBar.disabled = false; 
    appBar.show(); 
} 

如何顯示AppBar頁面片段加載時?

回答

0

我試過下面的代碼:

document.getElementById("appBar").winControl.show() 

而且它的工作原理是(顯示在頁面加載應用程序欄)的預期。

用同樣的方法也可用於在MSDN示例: App bar sample

你好像有另一個問題(應用程序欄或別的東西上無效的控制)。

您能否提供更多詳細信息或應用程序示例?

7

假設您正在HTML文件中正確創建appbar。

然後,在ready方法,應首先調用

WinJS.UI.processAll(elements) 
     .then(function() { 
       var appbar = document.getElementById("appBar"); 
       if (appbar) { 
        appbar.winControl.show(); 
       } 
     }); 

根據MSDN documentationprocessAll函數「適用聲明控制結合的所有元素,在指定根元素開始。」 (即把所有html元素轉換成WinJS控件)

0

如果你得到null錯誤,在初始化代碼中調用WinJS.UI.processAll()。

WinJS.UI.processAll(); 
appBar.winControl.show(); 

HTML

<div id="appBar" data-win-control="WinJS.UI.AppBar" data-win-options="{placement:'bottom'}">