サンプルコードからしか正しい情報を得る事ができない事が解りました。 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