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?


Ответы (0 шт):