Я работаю над своим первым приложением WPF MVVM. Я создал базу данных и написал запросы для получения названий альбомов и названий песен. Теперь я хочу заполнить список в моем виде именами альбомов, а второй список - соответствующими песнями. Я новичок в C # и WPF. Я хотел бы знать, как должна выглядеть модель представления для моего контроллера.
Мой контроллер:
public class BandManagerController
{
private bandkramEntities _context;
public BandManagerController()
{
_context = new bandkramEntities();
}
public List<AlbumData> GetAlbumList()
{
return _context.albums
.Select(a => new AlbumData
{
AlbumID = a.AlbumID,
AlbumName = a.AlbumName,
})
.ToList();
}
public List<SongData> GetSongList(int albumID)
{
return _context.songs
.Where(s => s.AlbumID == albumID)
.Select(s => new SongData
{
SongID = s.SongID,
SongName = s.SongName
})
.ToList();
}
}
Я создал вспомогательный класс с классом NotifyOfPropertyChange и композицией икласс данных альбома:
AlbumData.cs
public class AlbumData
{
public string AlbumName { get; set; }
public int AlbumID { get; set; }
}
SongData.cs
public class SongData
{
public string SongName { get; set; }
public int SongID { get; set; }
}
Для лучшего обзора я хочу разделить мою Viewmodel на 4 основные части.
- SongViewModel.cs
public class SongViewModel : NotifyOfPropertyChange
{
public SongViewModel()
{
}
public string SongName { get; set; }
public int SongID { get; set; }
}
AlbumViewModel.cs
public class AlbumViewModel : NotifyOfPropertyChange
{
public AlbumViewModel()
{
}
public string AlbumName { get; set; }
public int AlbumID { get; set; }
}
SongListViewModel.cs AlbumListViewModel.cs
Я хотел бы знать, как должны выглядеть 3. и 4. чтобы заполнить список альбомов именами альбомов ипоказать соответствующие песни во втором списке.