サンプルコードからしか正しい情報を得る事ができない事が解りました。 Microsoft のサイトのドキュメントは相当古いようです。VS11 もまだまだ 未完成の部分が多いようです。 プロパティはデバッグ中に探す事ができますが、構文は勘です。サンプル のパターンをあてはめるか、直接API のコードを読むしか無いようです。default.html
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title>ListView</title>
<!-- WinJS references -->
<link href="winjs/Css/ui-dark.css" rel="stylesheet" type="text/css" />
<script type="text/javascript" src="WinJS/js/base.js"></script>
<script type="text/javascript" src="WinJS/js/ui.js"></script>
<script type="text/javascript" src="WinJS/js/binding.js"></script>
<script type="text/javascript" src="WinJS/js/animations.js"></script>
<script type="text/javascript" src="WinJS/js/uicollections.js"></script>
<script type="text/javascript" src="WinJS/js/wwaapp.js"></script>
<!-- ListView references -->
<link rel="stylesheet" href="/css/default.css" />
<script src="/js/default.js"></script>
<script>
var dataArray = [
{ title: "Basic banana", text: "Low-fat frozen yogurt", picture: "images/60banana.png" },
{ title: "Banana blast", text: "Ice cream", picture: "images/60banana.png" },
{ title: "Brilliant banana", text: "Frozen custard", picture: "images/60banana.png" },
{ title: "Orange surprise", text: "Sherbet", picture: "images/60orange.png" },
{ title: "Original orange", text: "Sherbet", picture: "images/60orange.png" },
{ title: "Vanilla", text: "Ice cream", picture: "images/60vanilla.png" },
{ title: "Very vanilla", text: "Frozen custard", picture: "images/60vanilla.png" },
{ title: "Marvelous mint", text: "Gelato", picture: "images/60mint.png" },
{ title: "Succulent strawberry", text: "Sorbet", picture: "images/60strawberry.png" }
];
function listAll() {
Debug.writeln("listAll");
var lvObject = WinJS.UI.getControl(document.getElementById("basicListView"));
var binding = lvObject.dataSource.createListBinding();
var fetchTarget;
fetchTarget = binding.first().then(function (item) {
Debug.writeln(item.data.text);
Debug.writeln(item.data.title);
});
while (fetchTarget._state == 4) {
fetchTarget = binding.next().then(function (item) {
Debug.writeln(item.data.text);
Debug.writeln(item.data.title);
});
}
binding.release();
}
</script>
</head>
<body>
<div id="mediumListIconTextTemplate" data-win-control="WinJS.Binding.Template">
<div style="width: 180px;padding: 10px;">
<img style="width: 60px; height: 60px;"
data-win-bind="alt: title; src: picture" />
<div>
<h4 data-win-bind="innerText: title"></h4>
<h6 data-win-bind="innerText: text"></h6>
</div>
</div>
</div>
<div id="basicListView"
data-win-control="WinJS.UI.ListView"
data-win-options="{dataSource: dataArray, itemRenderer: mediumListIconTextTemplate }">
</div>
<input id="Button1" type="button" value="一覧表示" onclick="listAll();"/>
</body>
</html>
default.js
(function () {
'use strict';
WinJS.Application.onmainwindowactivated = function (e) {
if (e.detail.kind === Windows.ApplicationModel.Activation.ActivationKind.launch) {
var lvObject = WinJS.UI.getControl(document.getElementById("basicListView"));
// 配列を取得
var selectedItems = lvObject.selection.getAllIndices();
if (selectedItems.length === 0) {
Debug.writeln("選択されていません");
}
Debug.writeln("OK");
// 初期選択
lvObject.selection = [3];
Debug.writeln(lvObject.selection);
Debug.writeln(lvObject.selection.getAllIndices());
lvObject.addEventListener("selectionchanged", listViewChange, false );
}
}
// *****************************************************************
// 選択が変更されたアイテムの取得
// *****************************************************************
function listViewChange() {
var lvObject = WinJS.UI.getControl(document.getElementById("basicListView"));
var selectedItems = lvObject.selection.getAllIndices();
if (selectedItems.length === 1) {
var binding = lvObject.dataSource.createListBinding();
binding.fromIndex(selectedItems[0]).then(function (item) {
Debug.writeln( item.data.text );
Debug.writeln( item.data.title );
binding.release();
});
}
}
function initialize() {
Debug.writeln("initialize");
WinJS.UI.processAll();
}
// すべてのJavaScriptファイルとCSSファイルをロードした後DOMContentLoadedイベントが発生します
// 画像そのものはまだロードされていません。画像そのものが必要な場合は『load』イベントを利用します
document.addEventListener("DOMContentLoaded", initialize, false);
WinJS.Application.start();
})();
|
|
【オワコンの最新記事】
- tiktok > Stable Diffusion : まあ、とにかく凄い今時の頂点系
- Windows 8.1 + Visual Studio 2013 + WebGL + Three.js v65
- Microsoft Visual Studio 2010 のエミュレータは localhost で PC にアクセスできてた。
- Windows Phone で Zune を終了しても実機デバッグはできる( つまり、カメラが使える )
- Windows Phone SDK 8.0 がリリースされました。高橋 忍氏のブログをチェックするといいと思います
- App クラスを介してページ間の参照 / Windows Phone(C#)
- 『Windows8(C#) 2ページテンプレート』で、2ページ目で HttpClient で JSON データをバインドする
- Windows8 の最新版で、C#のテンプレート(Windows ストア)で、ページを追加すると固まるというバグがあるので、テンプレートを作って回避しています。
- 黒子のバスケが始まるまでに Windows Phone の開発環境を作る
- AIR + Papervision3D でメタセコイアの 3D キャラを遊ぶサンプルパッケージ
- Windows8(JavaScript Metro Style 導入) 関連リンク
- Windows 8 Release Preview のコントロールパネルの Flash Player 設定マネージャ
- Windows8 の XMLHttpRequest の POST メソッドのテストの為に、超簡易掲示板を授業中に作成
- AIR+FLARToolkitサンプル開発キット / collada(dae)とメタセコイア(mqo)ローダ実装済
- AIR Flex4 で WEB カメラを最も簡単に実装する方法
- Windows8 + LiveSDK のサンプルコードの実行
- WindowsConsumerPreview やその他の環境で、Microsoft の Live SDK を試す為の情報
- Adobe AIR Flex をだれでも簡単に作成できるパッケージ : ★ 超シンプル FLV プレーヤー ★
- アプリケーションバーを追加する : Win8 Metro(JS)
- Spark のスキンを使った時のウインドウサイズ変更オペレーション : Adobe AIR Flex




























