1

ListView アイテムがクリックされたときに読み込まれるページのキャッシュを有効にしたいと考えています。そのため、ユーザーが同じ項目を 2 回クリックすると、アプリは前にキャッシュされたページに移動します。(私は LayoutAwarePages を使用していますが、OnNavigatedTo メソッドで NavigationMode パラメータが NavigationMode.New と異なる場合、これが可能であると思われます)

何か案は?

4

1 に答える 1

1

コンストラクターでページのNavigationCacheModeプロパティを設定することにより、ページのキャッシュに影響を与えます。デフォルトでは無効になっていますが、有効にすると、移動するたびに既存のページインスタンスが取得されます。これは、ユーザーがListView内の別のアイテムに移動した場合でも、ページの同じインスタンスが再利用されることを意味します。

ナビゲーションフレームワークを再実装して、WindowsPhoneのライブラリに似たライブラリを見つけました。

  • キャッシュされたページに戻るときは使用されます。
  • 前方に移動すると、ページの新しいインスタンスが作成されます。

私があなたの質問を正しく理解している場合は、上記の両方とは異なるキャッシュ動作が必要です。これを実現するには、リンク先のライブラリにあるナビゲーションフレームワークに基づいて代替ナビゲーションフレームワークを作成するか、実際にページをキャッシュするのではなく、各アイテムのページ状態のみを保持することで動作をシミュレートします。

于 2013-01-13T06:42:11.413 に答える