`MVVM` и `CommunityToolkit.Mvvm`

Рейтинг: 0Ответов: 0Опубликовано: 13.06.2023

Подскажите по 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 ?

Ответы

Ответов пока нет.