フリップビューの各項目 (アプリの用語ではページ) がVSISに裏打ちされたイメージであるフリップビュー ベースの windowsRT アプリケーションを作成しようとしています。VSIS の設計に従って、画像が可視領域に入ると、VSIS の updatesneeded 関数が呼び出され、ビットマップが描画されます。
拡張機能として、ユーザーが次のボタンをクリックすると表示される次のページの画像/ビットマップをキャッシュしたいと考えています。これを実現するために、対応する VSIS の無効化関数を別のスレッドで呼び出して、これがビットマップをバックグラウンドでレンダリングすることを期待して (UpdatesNeeded の呼び出しによって)、ユーザーが次のボタンをクリックするまでに、画像は既に準備ができています。表示されます。
しかし、VSIS が可視領域にない場合、invalidate 関数は updatesneeded コールバックを呼び出さないため、キャッシュ設計が失敗しているようです。同じ方法/回避策はありますか?ページ/画像のサイズを事前に知っているので、vsis の更新矩形を取得することは問題ではありません。さらに、画像が可視領域に入って updateneeded が呼び出されたときに、VSIS が画像全体を再描画する必要がないことに注意して、ビットマップが既にレンダリングされている場合、updatesneeded 関数は返されます。