0

jscriptベースのWindows8Metroアプリを構築しています。このアプリケーションのメイン画面は、アプリの状態のさまざまな側面を示すいくつかのリストビューを含むスクロールする「パノラマ」ビューです。場合によっては、ユーザーがページ上の何かを選択すると、別のページに移動します(WinJS.Navigation.navigateメソッドを使用)。

ユーザーが他のページの戻る矢印を押すと、メイン画面に戻ります。「scrollIntoView」を使用して、ナビゲーションが発生する前にユーザーが作業していたセクションに画面を配置します。

残念ながら、これによってビューが正しく配置されることはほとんどありません。ランダムに見えます。ページの作成がまだ完了しておらず、あるスナップショットの状態に基づいてスクロール値が設定されているのではないかと思います。

今の質問:

WinJS ListViewオブジェクトが完全にレンダリングおよびレイアウトされていることを通知するものはありますか?それとも、これはページの準備完了機能の仕事ですか?

洞察をありがとう!

4

1 に答える 1

2

複数のリストビューを並べて配置するのは良い考えではありません(TM)。リストビューを1つ配置し、コンテンツをグループ化されたデータソースに配置して、グループを取得することをお勧めします。アイテムに異なるテンプレートがある場合は、カスタムアイテムテンプレートセレクターを使用して、テンプレートを動的に選択できます。

さらに、リストビューが正しい位置にスクロールされるようにするには、indexOfFirstVisibleを使用して、名前が示す項目を設定する必要があります。

于 2012-08-16T22:24:23.247 に答える