Добавление элементов в пользовательскую коллекцию
На этой странице вы реализуете коллекцию из альбомов, которые пользователь добавил, путем выбора в диалоговом окне поиска и нажатии кнопки Buy Album. Также вы отобразите их в основном окне.
Observable Collection (рус: Наблюдаемая коллекция)
Первым шагом, вы добавите observable
коллекцию во view model
основного окна.
Она будет содержать альбомы, которые пользователь выбрал в диалоговом окне поиска.
Выполните следующие действия:
- Остановите приложение, если оно запущено.
- Найдите и откройте файл MainWindowViewModel.cs.
- Добавьте
observable
коллекцию, как показано ниже:
public ObservableCollection<AlbumViewModel> Albums { get; } = new();
Обработка результата диалогового окна
Вторым шагом, мы изменим реактивную команду покупки альбома так, чтобы диалоговое окно возвращало
объект (AlbumViewModel
) в observable
коллекцию.
Выполните следующие действия:
- Измените код инициализации реактивной команды, как показано ниже:
BuyMusicCommand = ReactiveCommand.CreateFromTask(async () =>
{
var store = new MusicStoreViewModel();
var result = await ShowDialog.Handle(store);
if (result != null)
{
Albums.Add(result);
}
});