しばやん雑記

ASP.NET とメイドさんが大好きなフリーランスのプログラマーのブログ

仮想化まとめ

仮想化といっても UAC 絡みではなく、VirtualizingStackPanel のほうです。とりあえず仮想化される(と思われる)条件を挙げてみます。

  • IsVirtualizing = True かつ ScrollViewer.CanContentScroll = True の時
  • IsVirtualizing = True かつ ScrollViewer.CanContentScroll = True かつ (ListBox などの)IsGrouping = False の時

実際には IsGrouping = True の時に CanContentScroll = False となるようにトリガーが仕込まれてるので、実際には上の条件だけになるんですが……。
CanContentScroll は論理スクロールと物理スクロールの切り替えになっていて、これが仮想化のオン・オフに関係してきます。
False にすると滑らかにスクロールしているように見えるんですが、True にすると項目のサイズによってスクロールがカクカクになったり、スクロールバーのつまみの大きさがころころ変わったりあまり好きになれません。
仮想化が無効になっているので、新しい MiniTwitter のインクリメンタル検索がもたついてるんですが
f:id:shiba-yan:20080508000226p:image
この余白がものすごく気に入らないので 3.5 SP1 で改善されることを祈ってます。