0

Windows8 JavaScript アプリで listView コントロールを使用しており、次のようなコードを使用してページにアイテムをレンダリングしています。

            listView.layout = new ui.GridLayout({
                groupHeaderPosition: "top",
                groupInfo: this.groupInfo,
                itemInfo: this.computeItemSize
            });

これらのアイテムがページにレンダリングされた、いくつかのアクションを実行したいと考えています。これにコールバックを設定できる場所はありますか?

4

2 に答える 2

0

レンダラーを作成する方法は 2 つあります。WinJS.Binding.Template を宣言するか、カスタム レンダリング関数を作成します。

WinJS.Binding.Template

WinJS.Binding.Template を作成するには、HTML マークアップを使用して、アイテムのレンダリング方法のテンプレートを定義します。テンプレート内で、データ バインディングを使用して、HTML 要素のプロパティをデータ レコードのフィールドに関連付けます。

カスタム レンダリング関数 データ レコードをその HTML 表現に変換するためのカスタム レンダリング関数を定義できます。カスタム レンダラーを実装する利点は次のとおりです。 カスタマイズされた要素のリサイクルを実行できます。プレースホルダー要素を提供できます。アイテムを段階的にレンダリングできます。必要に応じて、データの増分要求を行うことができます。

レンダリング関数は次のパラメータを取ります: オブジェクト renderItem(itemPromise、リサイクルされたエレメント) itemPromise: アイテムがレンダリングするデータの IItemPromise。同期データソースの場合、IItemPromise は通常完了しますが、非同期データソースの場合、将来のある時点で完了します。リサイクルされたエレメント : 新しいコンテンツを表示するために再利用できる前のアイテムの DOM。render 関数は次のいずれかを返す必要があります。 アイテムの DOM ツリーのルート要素。これらのプロパティを含むオブジェクト: element: アイテムの DOM ツリーのルート要素、または完了時にアイテムのルート要素を返す promise。renderComplete: アイテムが完全にレンダリングされると完了する Promise。リンクの全情報を以下に示します http://msdn.microsoft.com/en-us/library/windows/apps/Hh781224.aspx#displaying_items_with_a_template_or_render_function

それが役立つことを願っています...ありがとう

于 2012-10-10T12:14:21.380 に答える
0

リストビューで、loadingstatechanged イベントをリッスンします。

http://msdn.microsoft.com/en-us/library/windows/apps/hh700709.aspx

于 2012-10-10T13:49:00.613 に答える