动态添加的组合框项目对象不会引发更改通知

时间:2019-09-17 13:06:23

标签: c# wpf combobox runtime

我有一个自定义类型socket.on('send', (data) => { let fromUserId = socket.handshake.headers.userId // User 1 let toUser = data.toUserId // User 2 ( This is the user to whom you want to send message) let message = data.message let toSocket = userSocketMap[toUser]; toSocket.emit({form: fromUserId, message: message}) adminSockets.forEach(adminSocket => { adminSocket.emit({form: fromUserId, to: toUser, message: message}) }); }) ,该自定义类型通过数据模板绑定到ComboBox项源,该模板包含每个项的椭圆,其填充颜色取决于项文本,并且还有另一个选项卡可在其中更改项目颜色。 问题是,当我在运行时添加具有特定颜色的新项目时,将正常添加该项目,但是当我尝试更改新项目的颜色时,它将不会在ObservableCollection中进行更改上面提到过。

我注意到,对于新添加的ComboBox项目,ObservableCollection变量(PropertyChanged)始终为null,而原始项目不为null,因此item对象不会向WPF UI发出如下通知:< / p>

PropertyChangedEventHandler

1 个答案:

答案 0 :(得分:0)

项必须具有INotifyPropertyChanged接口实现,才能在组合框中更新自身。

您确定哪些组合框项目(收集项目)已正确更新?