MVVM WPF Heavy Setters - PullRequest
       0

MVVM WPF Heavy Setters

0 голосов
/ 12 октября 2019

У меня есть тяжелое приложение базы данных CRUD. Я хочу иметь возможность последовательно отображать сложные результаты перекрестной проверки свойств.

Это привело меня к подходу, при котором у меня были полностью стандартные модели, не реализованные в INotifyPropertyChanged. И ViewModels, обертывающие их, реализующие INotifyPropertyChanged и INotifyDataErrorInfo.

Я должен использовать оболочку, потому что, если я помещаю логику в модель, это приводит к безумным временам инициации. Мне часто нужен быстрый список клиентов для поиска, списков и т. Д.

Это работает очень хорошо, но требует огромного количества стандартного кода. Все мои модели, думаю предложение или клиент, имеют 20-50 свойств. Все они имеют соответствующую оболочку viewmodel с таким же количеством свойств.

Пример свойства ONE viewmodel выглядит следующим образом.

[OptionalAttribute(Name="differentName")]
public property amount {
    get => GetProperty(() => amount);
    set {
         SetProperty(() => amount, value);
         Model.amount = amount;
         ValidateAndFire(Model);
    }

Мне интересно, есть ли другаяподход? Я совсем не ненавижу это, это работает хорошо, но прежде чем я сделаю это для остальной части проекта, я хотел бы изучить другие варианты.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...