2011-03-20 10 views
1

GridView/listview/scrollviewerの下にあるListViewItemのバインディングを持っています。WPF ListViewItem IsSelectedは、ビューのスクロール後のみに作用します

<Setter Property="IsSelected" Value="{Binding IsSelected}"/> 

一つの問題はありますが、私に発生しました:

私はListViewコントロール/ GridViewの中で "CTRL + A" を押した後、ScrollViewerのエリアに現在あるすべての項目が "IsSelected" はtrueに設定されています。

スクロールビューアの現在の表示可能領域ではないリスト内の他のすべての項目については、表示可能領域に手動でスクロールしない限り、「IsSelected」は「true」に設定されません。

これは設計上のものですか?そうでない場合、私は何が間違っていますか?

ありがとうございます。

答えて

3

仮想化を使用している可能性があります。したがって、ビューを塗りつぶすために必要な「コンテナ」(ListViewItem)のみが作成されます。 ListViewでVirtualizingStackPanel.IsVirtualizingをfalseに設定すると、仮想化を無効にすることができます。あなたがデータをたくさん持っている場合、これはパフォーマンスヒットを持っています。

+0

ありがとうございます。あなたが正しいです。 – GaryX

関連する問題