1

いくつかの項目があり、それらを水平に表示したいが、十分なスペースがない場合に次の行に折り返す必要があります。

<div class="historyItem">
    <div id="testTemplate" data-win-control="WinJS.Binding.Template" style="display:none">
        <div class="itemTemp">
            <h6  data-win-bind="innerText: desc"></h6>
        </div>
    </div>
</div>
<div id="listViewForecast"
    data-win-control="WinJS.UI.ListView"
    data-win-options="{itemTemplate:testTemplate, selectionMode: 'none', tapBehavior: 'none', swipeBehavior:'none',  layout: {groupInfo: groupInfo, type: WinJS.UI.GridLayout}}"
    >
</div>

今、私はそれを「水平」にする方法がわかりませんが、リストがここで水平である場合にブール値を返す ListView のプロパティがあるので、それを行うことができるはずですhttp://msdn.microsoft.com/ en-us/library/windows/apps/br211788.aspx . 私も GridView を使用しても問題ありませんが、それでもアイテムを最初に垂直に表示しています。

4

2 に答える 2

2

ListView は常にコンテンツ項目を垂直にレイアウトします。GridLayout を使用している場合でも、アイテムは各列を順番に埋めます。

水平方向のプロパティが定義されていますが、ui.js のソース コードを見ると、GridLayout では true、ListLayout では false になるようにハード コードされていることがわかります。

于 2012-05-29T08:30:28.157 に答える
1

理解した。答えはここにあります。ListView コントロールに独自の高さを指定し、幅を広げます。1つのアイテムだけを保持するのに十分な高さだけであることを確認してください.次のアイテムは右側に投げられます. 私の場合、固定数のアイテムがあり、正常に動作します。これは、可変数のアイテムでは機能しない場合があります。

次のクラスを html に追加し、幅と高さを指定するだけです。ページ内のすべての ListView は、このクラスを使用してスタイル設定されます。

.win-listview 
{
    height: 500px; 
    width: 500px; 
    border: 2px solid gray;
}
于 2012-06-08T17:16:46.853 に答える