当我的BL类中的属性发生更改时,我尝试更新我的UI。请有人建议在vb.net中执行此操作的最佳方法
答案 0 :(得分:0)
不是一个非常精确的问题,所以我将解释标准方式(在我看来)。
在您的班级中实施INotifyPropertyChanged
界面并处理对象的PropertyChanged
事件。
首先是包含相关属性的对象的类:
Public Class MySweetClass
Implements System.ComponentModel.INotifyPropertyChanged
Private _MyProperty As String
Public Property MyProperty As String
Get
Return _MyProperty
End Get
Set(value As String)
_MyProperty = value
RaiseEvent PropertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs("MyProperty"))
End Set
End Property
Public Event PropertyChanged(sender As Object, e As System.ComponentModel.PropertyChangedEventArgs) Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged
End Class
请注意,一旦属性值发生变化,就会引发PropertyChanged
事件。
在您的表单中处理此事件:
Public Class Form1
Private WithEvents MySweetObject As MySweetClass
Private Sub MySweetObject_PropertyChanged(sender As Object, e As System.ComponentModel.PropertyChangedEventArgs) Handles MySweetObject.PropertyChanged
'Update gui here
End Sub
End Class
这使您可以在值发生变化时更新GUI。