Вам не нужно реализовывать INotifyPropertyChanged
в классе модели представления. Это нужно делать только в том случае, если вам нужно уведомление об изменении, а для простых диалогов - нет.
Я не могу говорить о специфичных для VB проблемах, но в C # полученный код по крайней мере настолько же прост и лаконичен, насколько это было бы, если бы он жил в коде позади окна - и часто даже больше, если вы пытаетесь реализовать командное поведение без реализации команд. («Я просто установлю IsEnabled
на true
в этом установщике свойств, чтобы кнопка« ОК »была включена после ввода данных», - это одно из тех предложений, в которых слово «просто» оказывается чертовой ложью .)
Контраргумент этого - «конечно, но если я не реализую уведомление об изменении, то я не могу выполнять X и Y, когда что-то меняет значение свойства» - подрывает утверждение, что то, что вы создаете, просто.
Я считаю, что в общем, все не так просто, как я думаю, что будет, когда я впервые запустил его. Гораздо проще добавить уведомление об изменении и команды к классу модели представления, чем реорганизовать класс модели представления из кода окна, чтобы я мог добавить к нему уведомление об изменении и команды.
Наконец, если вы используете классы моделей простых представлений для поддержки простых представлений во всех случаях, кроме одного, этот один случай когда-нибудь укусит вас (или другого разработчика) в задницу. Многое можно сказать о последовательности, если стоимость последовательности низкая.