一個ListView(或列表框)與以下性質混淆的SelectedItem:WPF ListView的具有相等的項目
<ListView SelectionMode="Single">
<sys:String>James</sys:String>
<sys:String>Claude</sys:String>
<sys:String>Justing</sys:String>
<sys:String>James</sys:String>
</ListView>
將導致同時選擇兩個項目,如果我點擊「詹姆斯」,即使 我選擇的SelectionMode = 「單」。當我使用一個帶有 字符串屬性的幫助類來顯示ListView時,它甚至是同樣的行爲。似乎ListView正在評估項目並選擇Equal()而不是ReferenceEqual()。有沒有辦法改變這種行爲,以便ListView可以單獨處理每個項目?
我敢打賭,你的原因不是Equal()與ReferenceEqual(),而是字符串實習。 – 2011-06-10 17:09:31
當我使用像tmpList.Add(new {Diplay =「James」}編程方式填充ListView並綁定在Display-Property上時,效果是一樣的,即使字符串被包裝在助手類中 – naacal 2011-06-10 18:12:06
這是因爲在那裏沒有什麼可以讓詹姆斯的每個實例都是獨一無二的,你需要一個ID或者其他東西來區分這兩者 – 2011-06-10 19:26:25