MVVM: как получить во ViewModel свойство модели при его обновлении?
Начну с архитектуры приложения. Есть класс, описывающий объект:
public class Song
{
...
bool isplaying = false;
public bool IsPlaying
{
get => isplaying;
set
{
isplaying = value;
OnPropertyChanged();
}
}
...
}
Есть класс, отвечающий за логику:
public class Player
{
public Song CurrentSong { get; private set; }
}
В App.xaml.cs данный класс объявлен как public static PlayerService. Есть вьюмодель, которая должна получать свойство IsPlaying у CurrentSong у PlayerService. Сейчас во вьюмодели это выглядит так:
public class PlayerVM : BaseViewModel
{
...
public bool IsPlaying { get => App.PlayerService.CurrentSong.IsPlaying; }
...
}
В XAML биндинг к свойству IsPlaying вьюмодели. Но проблема в том, что свойство не обновляется при его изменении в логике класса Player. Как мне связать данные вьюмодели и модели данных, чтобы при изменении в модели обновление поступало во вьюмодель, а затем и в UI?