【发布时间】:2017-10-10 12:29:40
【问题描述】:
我有一个实现 INotifyPropertyChanged 的自定义类,如下所示(删除了无关的和重复的属性):
Public Class Map
Implements INotifyPropertyChanged
Private _wages As Decimal
Property Wages As Decimal
Get
Return _wages
End Get
Set(value As Decimal)
Debug.Print("Event Raised: " & _wages & " " & value)
_wages = value
RaiseEvent PropertyChanged(Me, New PropertyChangedEventArgs(Wages))
End Set
End Property
Public Event PropertyChanged As PropertyChangedEventHandler Implements INotifyPropertyChanged.PropertyChanged
类被正确序列化/反序列化。当我加载 XML 文件时,显示工资的 TextBox 没有更新以反映工资值。
我将(Devexpress)TextBox DataBindings 设置为:
txtWages.DataBindings.Add(New Binding("EditValue", mymap, "Wages", False, DataSourceUpdateMode.OnPropertyChanged))
当我加载文件时,我可以从 Debug.Print 中看到旧值和新值:
已引发事件:0 13
但是,txtWages 保持为 0
我已阅读这些答案Here 和Here 并试图寻找想法,但我没有想法。
编辑: 似乎如果我用反序列化 XML 填充类然后设置绑定它可以工作,但不是在首先设置绑定时。我原以为它会以任何一种方式工作。
【问题讨论】:
标签: vb.net data-binding