You do not need to implement INotifyPropertyChanged in the view model class. You only need to do this if you need a notification of a change that you do not have for simple dialogs.
I can’t talk about problems with VB-specifics, but in C # the code that is the result is at least simple and concise, as if it lived in window code, and often more often if you try to implement command behavior without implementation teams. (“I just set IsEnabled to true in this property installer so that the OK button is activated after entering the data,” is one of those sentences where the word “just” turns out to be a hell of a lie.)
The counterargument to this - “of course, but if I do not implement a change notification, then I can’t do X and Y when something changes the value of the property” - undermines the statement that what you are building is simple.
I find that in general, nothing is as easy as I think it will happen when I start it over. It is much easier to add change notifications and commands to the view model class than to refactor the view model class from the window code so that I can add change notifications and commands to it.
Finally, if you use simple view model classes to return simple views in all but one case, this case will bite you (or another developer) someday. There is much to be said about consistency if the cost of consistency is low.
source share