Before you move further, If you are not understood the concept of Event and Delegate, I would suggest you to take a look at the below link. Even though the article with C#, it would help you to understand the process. Otherwise, please keep reading.
http://www.pinfaq.com/123/events-and-delegates-and-its-difference-dotnet-application
In VB.NET if you want to attach event handler for any event available in an object, then you may want to declare that object use "WithEvents" keyword. Once you do that, you shold be able to attach any event handler that has the same signature as the event is expecting.
Dim WithEvents _accountInfoViewModel As AccountInfoViewModel
= New AccountInfoViewModel()
In your example INotifyPropertyChanged interface is using
PropertyChanged(sender As Object, e As System.ComponentModel.PropertyChangedEventArgs)
So, you may want your event handler to have the same signature. Also, there are two ways you can attach event handlers in VB.NET.
Approach 1:
Public Sub OnPropertyChanged(sender As Object, e As System.ComponentModel.PropertyChangedEventArgs) **Handles _accountInfoViewModel.PropertyChanged**
'Here sender is ViewModel object.
'e is having proerpty changed event args which will have the name of the property which raised this event.
End Sub
Approach 2:
You can use AddHandler to attach event handler with an event. Call this below method from the constructor, so that the handlers will be attached at the right time.
Private Sub AttachHandlers()
AddHandler _accountInfoViewModel.PropertyChanged, OnPropertyChanged
End Sub
Advantage of this second approach is, you can attach same event handler for same kind of events which are raised by multiple object. One good example for that would be, if you want to attach Validated event for all textbox controls on the page then you do something like below. So, that, the same event handler will be call if any of the textbox raise the Validated event.
Private Sub AttachHandlers()
AddHandler txtFirstName.Validated, AddressOf Controls__Validated
AddHandler txtLastName.Validated, AddressOf Controls__Validated
AddHandler txtAddressLine1.Validated, AddressOf Controls__Validated
End Sub