为什么绑定到struct不起作用?

Son*_*Boy 14 c# wpf binding struct class

我最近遇到了一个问题,我将一个ObservableCollection绑定到ListView.人是我写的结构.只要我在绑定之前设置People对象的值,一切似乎都可以正常工作.但是,当我尝试在运行时从GUI设置值时,基础对象似乎不反映更改.

我最终通过简单地将People从一个结构改为一个类来克服了这个问题.不需要进行其他更改.

有人可以向我解释为什么会这样吗?

Muh*_*han 22

您的绑定获取结构的副本,因为结构通过值传递给方法.如果绑定更新某些内容; 内存中的副本正在被修改,因此您的原始对象不会更新.