我最近遇到了一个问题,我有一个 ObservableCollection 绑定(bind)到一个 ListView。人是我写的结构。只要我在绑定(bind)之前设置 People 对象的值,一切似乎都正常。但是,当我尝试在运行时从 GUI 设置值时,底层对象似乎并未反射(reflect)更改。
我最终通过简单地将 People 从结构更改为类来克服了这个问题。无需进行其他更改。
谁能给我解释一下这是为什么?
最佳答案
您的绑定(bind)获取结构的副本,因为结构是按值传递给方法的。如果绑定(bind)更新了一些东西;某处内存中的副本正在被修改,因此您的原始对象没有更新。
关于c# - 为什么绑定(bind)到结构不起作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7714883/