`MVVM` и `CommunityToolkit.Mvvm`
Подскажите по MVVM
и CommunityToolkit.Mvvm
Не могу сообразить как сделать так, чтобы Model
уведомляла ViewModel
об изменении свойств у Model
.
Как я понял:
ViewModel
нужно унаследовать от ObservableRecipient
ViewModel
зарегистрировать для получения уведомлений и затем из Model
отправлять уведомления.
Я сделал, это работает, но в данный момент отправляю просто копию Model
из Model
и обновляю свойства ViewModel
. 🤦
Model:
Age++;
WeakReferenceMessenger.Default.Send(new UserPropertyChangedMessage(this));
ViewModel:
Messenger.Register<UserViewModel, UserPropertyChangedMessage>(this, (r, m) => r.ReloadProperty(m));
public void ReloadProperty(UserPropertyChangedMessage message)
{
Name = message.Value.Name;
Age = message.Value.Age;
}
Но кажется,что как то сложно и неправильно 😢
Можно как то проще подписаться ViewModel
на изменение свойств Model
?
Источник: Stack Overflow на русском