0

IList と IList を実装する ItemsSource にバインドする ListBox がありますが、仮想化されていない IList にバインドする場合と比較して、SelectionMode=Extended の動作は期待したものではないようです。

IList の動作:

Select Row 10
Shift + Select Row 5
Results Rows 5,6,7,8,9,10 being selected

VirtualizedCollection:IList、IList 動作:

Select Row 10
Shift + Select Row 5\
Result: Rows 1,2,3,4,5 and 10 being selected (no 6,7,8,9)

ブラックボックスに近い?メソッドは、2 番目のケースでは 1 を返しますが、最初のケースでは実際の行 10 を取得する、ある種の「現在選択されている行を取得」を呼び出しています。

特異性が役立つ場合、Paul McClean による WPF データ仮想化は、私が使用している virtualizedcollection 実装です。バインド時に可視化されたコレクションが使用される場合、彼のソース コードにも同じバグがあります。

4

0 に答える 0