把一个 dic绑定到了listview上,有时候下拉列表会报这个异常。因为直接使用了itemssource = dic,而dic在另一个线程上不定期更新,这样如果直接绑定的话就会报这个错误,原因是直接绑定的话会把itemssource的内存地址直接指向dic的内存地址,当dic更新后,会导致内存地址变动,使程序无法正常读取内存中的数据而报错。最简单的解决方法是new一个dictionary ,把dic传过去,然后再赋值给itemssource,这样new出来的dic就会有另一块专用的内存空间,无论原dic如何变动都不会影响新的dic。至于内存开销大了一倍,不在考虑范围。
时间: 2024-10-28 20:28:16