Combobox SelectedItem doesn't update when source changes

为君一笑 提交于 2019-11-30 19:28:50
CodeNaked

The object returned from your SubGroupingView must be "equal" to one of the objects in the ComboBox.Items (which means it must be in your Columns collection). So if you perform an "a.Equals(b)", it would need to return true.

If they are functionally the same, but not returning true when compared then that's your problem. You would need to either return the same object, or override the Equals method (and potentially the == and != operators).

If this is your issue, it's the same problem as in this question.

Is IsSynchronizedWithCurrentItem on your ComboBox perhaps set to false? You could try explicitly setting IsSynchronizedWithCurrentItem="True" and see if that helps.

The @CodeNaked 's answer is right. But in my case just overriding Object.Equals throws StackOverflowException. I think the whole answer is to implement full IEquatable that means implementing its Equals method and overriding Object.Equals(Object) and Object.GetHashCode methods as in this example (see the end of "Remarks" section - "Notes to Implementers" - and "Examples" section).

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!