入れ子になった ListBox と文字列を含む単純なアプリケーションを作成しました。非常に速くスクロールすると、空のスペースがあります。レンダリング速度を上げることはできますか、またはListBoxでスクロール速度を遅くすることはできますか?
2 に答える
スクロール時の黒の発生を克服するには、スクロールコントロールを仮想化する必要があります。そのためには、IListを継承し、ObservableCollectionに似た独自のコレクションを作成する必要があります。このコレクションでは、キャッシュ要件に応じてデフォルトのインデクサーをオーバーライドし、同時にアイテムのキャッシュを維持する必要があります。これがあなたが探しているものかもしれないと思います:http://blogs.msdn.com/b/ptorr/archive/2010/08/16/virtualizing-data-in-windows-phone-7-silverlight-applications.aspx
そのページにサンプルプロジェクトがあります。それを試してみてください。
また、この問題に直面していると感じていますhttp://blog.rsuter.com/?p=258。これは仮想化自体を使用して解決されると思います。それが役に立てば幸い
Milan が投稿したブログは、手始めに良い情報源です。データの仮想化は、スクロール中にリスト アイテムのアイテム テンプレートを変更することで機能します。複雑なレイアウトがある場合、これは期待どおりに機能しません。
ただし、作業中のレイアウトでさらに作業することをお勧めします。レイアウトを少し汎用的にするためにスタック パネルが多すぎると、パフォーマンスが低下します。