2

HTML/Javascriptを使用してWindows8アプリを開発するのは初めてです。

appbarのボタンを動的に作成/削除したい。

たとえば、htmlに次のappbardivがあります。

<div id="appbar" data-win-control="WinJS.UI.AppBar" data-win-options="{placement: 'top'}">
    <button id="button" data-win-control="WinJS.UI.AppBarCommand" 
        data-win-options="{id:'button', label:'Button', icon:'add'}" type="button">
    </button>
</div>

何らかのアクションによってトリガーされたボタンを置き換えたいので、jsで次のようにappbar divのinnerHTMLを置き換えましたが、得られたのはappbarの奇妙な空白の正方形でした。

var appbar = document.getElementById("appbar");
var html = "<button data-win-control=\"WinJS.UI.AppBarCommand\" data-win-options=\"{id:'button', label:'Another Button', icon:'add'}\" type=\"button\"></button>";
appbar.innerHTML = html;

どんな助けでも大歓迎です。

ありがとう、

4

2 に答える 2

2

アプリバーの推奨事項は、すべてのコマンドを事前に定義し、hideCommands/showCommandsを使用してアプリバー自体のコマンドを表示および非表示にすることです。

ただし、コマンドを自分で動的に作成する場合は、コードにもう1つのステップを追加するだけで済みます。

WinJS.UI.process(elementThatYouJustCreated);

これにより、勝利コントロールが作成され、そのコントロールの設定を取得するためのすべての作業が実行されます。

于 2012-09-21T04:12:05.027 に答える
1

生のHTMLを使用して値を設定する代わりに、AppBarCommandオブジェクトのプロパティの使用を検討する必要があります。

var cmd = document.getElementById('button'); 
cmd.winControl.icon = 'add'; 
cmd.winControl.label = 'Another Button'; 

MSDNのAppBarコントロールサンプルは、これを詳細に示しています:http: //code.msdn.microsoft.com/windowsapps/App-bar-sample-a57eeae9/

于 2012-09-21T03:53:30.813 に答える