WPF:重複するオブジェクト参照を持つSelectedItems
そして、ItemsSourceがPersonCollectionにバインドされているListViewがあるとします。さて、私はこのコードがあると言うことができます:
public void AddPeople()
{
Person p = new Person() { Name = "Someone" };
MyPersonCollection.Add(p);
MyPersonCollection.Add(p);
MyPersonCollection.Add(p);
}
だから今私は3つの項目がすべて同じオブジェクトへの参照である3つの項目を持つListViewを持っています。だから今私はListViewでインデックス0と2のアイテムを言うことを選択します。
ListView.SelectedItemsプロパティは、視覚的に選択された両方のアイテムが同じオブジェクトであるため、1つのアイテムが選択されていると表示されます。
したがって、インデックス1のアイテムを削除せずに、インデックス0と2のアイテムを削除できるように、視覚的に選択したアイテムを取得するにはどうすればよいですか?
ありがとうございました。私はあなたが仮想化について何を意味しているのかよく分かりませんが、私たちがやっている単純なプロジェクトでは、これで十分です。ありがとう。 – Nick
私が意味することは、Itemsコレクション内のすべてのPersonが、仮想化のためListViewItemを持たないことがあるということです。 ListViewで最初のPersonを選択し、それが消えるようにスクロールダウンすると、ItemContainerGenerator.ContainerFromIndex(0)を呼び出すとnullが返される可能性があります。 –