0

大きな画像ギャラリーを表示するWindowsPhone7アプリケーションを構築しています。それらを表示するためにピボットコントロールを使用しています。

ピボットにはHeaderTemplate、1 TextBlock(画像のタイトル)とItemTemplate1つImageのコントロール(画像)が含まれています。

私のギャラリーに300枚の写真が含まれていると仮定します。300枚目を選択すると、Imageすぐに300枚目の画像が表示されますが、ヘッダーは1枚目から300枚目のタイトルまで徐々に表示されます。

ヘッダーに300番目のタイトルがすぐに表示されないのはなぜですか?すぐに表示するように強制するにはどうすればよいですか?

大量のアイテムを処理するピボットのより良い実装はありますか?

4

1 に答える 1

0

アイテムはいくつでも使用できます。DataBindingを使用するだけで、他には何も使用しません。コードビハインドや手動でのユーザー制御による追加はありません。すでに行ったようにテンプレートを使用するだけで、すべて正常に機能します。なんで?

テンプレートとデータバインディングには、データのみが変更されるという概念があります。巨大なリストを下にスクロールすると、実際にはアイテムの内容のみが変更されます。リスト自体は残ります...たとえば、10アイテム+ 2(上/下)で、必要に応じてエントリのx-thousendのデータで埋められます。メモリは、データバインディングを使用して、hundertsやthousendsではなく約12個のアイテムを表示するだけで済みます。

http://msdn.microsoft.com/en-us/library/ms752347.aspx

状況を確認するために、メインページに任意のタイマーを追加して、RAM使用量を確認できます。

Private Sub dptm_Tick(sender As Object, e As System.EventArgs) Handles dptm.Tick
    txtDeviceUsedMemory.Text = "Speichernutzung : " & (Microsoft.Phone.Info.DeviceStatus.ApplicationCurrentMemoryUsage / 1024 / 1024).ToString("0.0") & "MB"
End Sub

データバインディング

于 2012-11-23T12:36:13.110 に答える