Quando si esegue una funzione asincrona per ottenere dati locali, accedere a un file o chiamare un'API, come si attiva l'animazione di caricamento durante questa, possibilmente, lunga routine?Come si mostra l'animazione di caricamento per le app di Windows Phone Universal Phone 8.1?
Ecco un esempio:
<Button onClick="Button_Click" />
public async void Button_Click(object sender, RoutedEventArgs e)
{
var myData = await MyDataManager.GetMyData();
await new MessageDiaglog("Data Loaded!").ShowAsync();
}
Dal momento che è un app store universale, suppongo che dovrebbe funzionare lo stesso in entrambe le finestre 8.1 e Windows Phone 8.1.
AGGIORNAMENTO DA SOLUZIONE
Per risposta igrali, ho aggiornato il mio codice di riferimento futuro:
<ProgressBar x:Name="LoadingBar" Visibility="Collapsed" IsEnabled="False" IsIndeterminate="true" Height="4" HorizontalAlignment="Stretch"/>
<Button onClick="Button_Click" />
public async void Button_Click(object sender, RoutedEventArgs e)
{
LoadingBar.IsEnabled = true;
LoadingBar.Visibility = Visibility.Visible;
var myData = await MyDataManager.GetMyData();
await new MessageDiaglog("Data Loaded!").ShowAsync();
LoadingBar.IsEnabled = false;
LoadingBar.Visibility = Visibility.Collapsed;
}
Questo codice funziona sia sul telefono e tablet.
Ok fantastico - quindi, per essere chiari, lo attivo/lo mostro prima della chiamata in attesa e poi lo disattivo/lo nascondo dopo la chiamata di attesa? – EdenMachine
@EdenMachine esattamente. –