我有
Public Overrides Property UID() As String
Get
Return mUID
End Get
Set(ByVal value As String)
If Me.IsNew Then
mUID = value
End If
OnPropertyChanged("UID")
End Set
End Property
该类实现 INotifyPropertyChanged 并且我绑定到 WinForm 控件中的 TextBox 控件。
问题是当用户在文本框中键入一个值时,即使绑定的值仍然与 IsNew 为 false 的事实相同,新值也会显示在文本框中。(我尝试过使用这两种类型的 DataSourceUpdateMode。)
我已阅读INotifyPropertyChanged 问题,并且我相信 Windows 窗体的工作方式基本相同,因为事件的发起者也不会检测到处理事件。
我可以在 BO 类中做些什么来强制控件响应 INotifyPropertyChanged 事件吗?或者我可以在 BO 类中做些什么来让控件显示正确的值?
我意识到我可以在 GUI 代码中以各种方式处理这个问题,但这不是我的目标。