html5とjavascriptを使用して開発しているWindowsストアアプリケーションのリストビューにテンプレートをバインドしました。リストビューアイテムのサイズをプログラムで変更する必要があります。基本的に、ページに入力タイプの範囲があります。ユーザーは入力の値を変更し、その値に従って、プログラムでリストビューアイテムのサイズを変更できるはずです。
ヘルプやポインタは大歓迎です。
前もって感謝します!
これが古いことは知っていますが、(グリッドモードに切り替える気がしなかったので)大規模なテストを行うのに何時間も費やしたところ、重なり合うことなく任意の高さのアイテムを持つことができる非常に簡単な方法を見つけました。私はそれを共有しますが、あなたがする必要があるのは、これをcssに追加することだけです:
.win-listview .win-listlayout .win-container {
height:auto;
}
テンプレート内のアイテムに設定されたクラスを使用して、リストビュー内のアイテムのサイズを設定できます。あなたはできる:
CSS でサイズを定義します。例:
.small {
height: 150px;
width: 150px;
}
.large {
height: 300px;
width: 300px;
}
テンプレート アイテムに適切なクラスを設定します。
var templateItem = document.querySelector("#regularListIconTextTemplate .regularListIconTextItem");
WinJS.Utilities.addClass(templateItem, "large");
リストビューを更新します。
element.querySelector("#listView").winControl.forceLayout();