Staram się rozkminić MVVM przy pomocy Prisma i są to bardzo podstawowe kroki.
Nie jestem pewien czy to nie łamie jakichś zasad MVVM, ale bardzo bym chciał aby w momencie kiedy zmieni się wartośc property Modelu, odpalił się event (za pomoca Event Aggregatora) i nasłuchujący go ViewModel wykonał jakąś akcję.
Niestety w momencie kiedy dochodzi do zmiany mojego property i odpala się Publish()
, to nic się nie dzieje ;-( - nie wchodzi mi to metody.
Korzystając z różnych tutoriali mam następujący kod:
Model:
public class TrainingSession : BaseClass
{
private Agent _Trainer;
public Agent Trainer
{
get { return _Trainer; }
set
{
SetProperty(ref _Trainer, value);
ea.GetEvent<ApplicationMessanger>().Publish();
}
}
private EventAggregator ea;
public TrainingSession()
{
this.ea = new EventAggregator();
}
}
ViewModel:
public TrainerViewModel(IEventAggregator ea)
{
ea.GetEvent<ApplicationMessanger>().Subscribe(RefreshFilterList);
}
private void RefreshFilterList()
{
//się cos ma robić
}
ApplicationMessanger:
public class ApplicationMessanger : PubSubEvent
{
}
Z góry dziekuję za pomoc.