WPFデータグリッドのスクロールに問題がありました。一部の分析で、ScrollViewer.CanContentScroll = trueが原因であることが判明しました。それを削除して間違えると、スクロールの問題が修正されました。しかし、昨日、私は間違って50kのレコードをバインドするために、1.3Gb以上のWPFアプリケーションのメモリ占有量の増加に関するバグを分析していました。それでも、10kのレコードをバインドする能力に疑問を抱いていました。ユーザーはページ区切りを必要としません。DataGridスクロールの問題の修正により、パフォーマンスとメモリの問題が発生する
ScrollViewer.CanContentScroll = falseを設定すると、UI仮想化がfalseになります。 WPFはすべてのレコードをバインドして画面に表示します。その結果、メモリのフットプリントとパフォーマンスの問題が爆発的になりました。
今のところ、バインドするレコードが最小の場合は、ScrollViewer.CanContentScroll = falseを設定し、それ以外の場合はtrueに設定します。
要するに、私たちはスクロールの問題やUIの仮想化に悩まされています。両方を修正できるものはありますか?データ仮想化について読んだことがありますが、実際にはこれまでに行っておく必要がありますか?私に役立つかもしれない.net4.0からボックスから何かが欠けていますか?
ありがとうScott、私はどちらかのオプションを試し、ここで更新します! – ioWint