Files
Learn-WinUI-3-Second-Edition/Chapter10/TemplateStudioSampleApp/ViewModels/ListDetailsViewModel.cs
2023-08-13 13:40:04 -04:00

47 lines
1.2 KiB
C#

using System.Collections.ObjectModel;
using CommunityToolkit.Mvvm.ComponentModel;
using TemplateStudioSampleApp.Contracts.ViewModels;
using TemplateStudioSampleApp.Core.Contracts.Services;
using TemplateStudioSampleApp.Core.Models;
namespace TemplateStudioSampleApp.ViewModels;
public partial class ListDetailsViewModel : ObservableRecipient, INavigationAware
{
private readonly ISampleDataService _sampleDataService;
[ObservableProperty]
private SampleOrder? selected;
public ObservableCollection<SampleOrder> SampleItems { get; private set; } = new ObservableCollection<SampleOrder>();
public ListDetailsViewModel(ISampleDataService sampleDataService)
{
_sampleDataService = sampleDataService;
}
public async void OnNavigatedTo(object parameter)
{
SampleItems.Clear();
// TODO: Replace with real data.
var data = await _sampleDataService.GetListDetailsDataAsync();
foreach (var item in data)
{
SampleItems.Add(item);
}
}
public void OnNavigatedFrom()
{
}
public void EnsureItemSelected()
{
Selected ??= SampleItems.First();
}
}