把一個 dic綁定到了listview上,有時候下拉列表會報這個異常。因為直接使用了itemssource = dic,而dic在另一個線程上不定期更新,這樣如果直接綁定的話就會報這個錯誤,原因是直接綁定的話會把itemssource的記憶體地址直接指向dic的記憶體地址,當dic更新後,會導致記憶體地址 ...
把一個 dic綁定到了listview上,有時候下拉列表會報這個異常。因為直接使用了itemssource = dic,而dic在另一個線程上不定期更新,這樣如果直接綁定的話就會報這個錯誤,原因是直接綁定的話會把itemssource的記憶體地址直接指向dic的記憶體地址,當dic更新後,會導致記憶體地址變動,使程式無法正常讀取記憶體中的數據而報錯。最簡單的解決方法是new一個dictionary ,把dic傳過去,然後再賦值給itemssource,這樣new出來的dic就會有另一塊專用的記憶體空間,無論原dic如何變動都不會影響新的dic。至於記憶體開銷大了一倍,不在考慮範圍。