Какая лучшая практика для этого? Имейте в виду, что я использую шаблон MVVM и Windows Template studio. Поэтому, если есть какое-то встроенное решение / лучшая практика для загрузки данных, я был бы рад узнать об этом.
Я загружаю данные asyn c из API через http, что занимает пару секунд. Поэтому, когда пользователь нажимает на страницу, ему нужно немного подождать, пока данные не появятся. Я хочу, чтобы данные были предварительно загружены до того, как пользователь щелкнет страницу. Данные страницы должны быть загружены при запуске приложения.
Это мой код для загрузки данных на страницу прямо сейчас:
XAML
<i:Interaction.Behaviors>
<ic:EventTriggerBehavior EventName="Loaded">
<ic:InvokeCommandAction Command="{x:Bind ViewModel.LoadedCommand}" />
</ic:EventTriggerBehavior>
</i:Interaction.Behaviors>
ViewModel:
public ICommand LoadedCommand => loadedCommand ?? (loadedCommand = new RelayCommand(LoadData));
private async void LoadData()
{
await LoadItemsAsync();
await LoadImagesAsync();
}
private async Task LoadItemsAsync()
{
var items = await itemsDataAccess.GetAllAsync();
foreach (Item i in items)
ItemImageLinks.Add(new ItemImageLink() { Item = i });
}
private async Task LoadImagesAsync()
{
if (!InternetConnectionService.IsConnected())
return;
foreach (ItemImageLink iml in ItemImageLinks)
iml.Image = await imagesDataAccess.GetImageAsync(iml.Item.ImageStringName);
}