我有一个自定义类型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
答案 0 :(得分:0)
项必须具有INotifyPropertyChanged接口实现,才能在组合框中更新自身。
您确定哪些组合框项目(收集项目)已正确更新?