ListViewを使用してリスト内のアイテムを表示しています。ユーザーは自分でアイテムを選択するか、いくつかの「事前選択キー」を使用して、指定された属性を持つアイテムを選択できます。
アイテムをチェックするために、私はそのようなものを使用します:
for(int i;i<MyListView.Items.Count;++i)
{
if( /*... Check if the items should be selected ...*/ )
(MyListView.ItemContainerGenerator.ContainerFromIndex(i) as ListViewItem).IsSelected = true;
}
これは、実行時に表示されるアイテムに対して完全に機能します。ただし、表示されていないアイテムの場合、ContainerFromIndex()はnullを返します。これは仮想化と関係があり、リストは「視野」の上下の項目については知らないと聞きました。しかし、手動で選択したときに、リスト内の「視野」の外にあるアイテムを選択できるようになるのはなぜですか?
そして、「視野」の外でアイテムを選択するにはどうすればよいですか?それは可能だと思います。
助けてくれてありがとう、マークス