Condividi tramite


ProgressBar

L'interfaccia utente dell'app multipiattaforma .NET (.NET MAUI) ProgressBar indica agli utenti che l'app sta procedendo attraverso un'attività lunga. L'indicatore di stato è una barra orizzontale riempita in una percentuale rappresentata da un double valore.

L'aspetto di un ProgressBar oggetto è dipendente dalla piattaforma e lo screenshot seguente mostra un ProgressBar in Android:

Screenshot of ProgressBar on Android.

ProgressBar definisce due proprietà:

  • Progress è un double valore che rappresenta lo stato di avanzamento corrente come valore compreso tra 0 e 1. Progress i valori minori di 0 verranno bloccati su 0, i valori maggiori di 1 verranno bloccati su 1. Il valore predefinito di questa proprietà è 0.
  • ProgressColor è un Color valore che definisce il colore dell'oggetto ProgressBar.

Queste proprietà sono supportate da BindableProperty oggetti, il che significa che possono essere destinazioni di data binding e stili.

ProgressBar definisce anche un ProgressTo metodo che anima la barra dal valore corrente a un valore specificato. Per altre informazioni, vedere Animare un controllo ProgressBar.

Creare un indicatore di stato

Per indicare lo stato di avanzamento di un'attività lunga, creare un ProgressBar oggetto e impostarne le proprietà per definirne l'aspetto.

L'esempio XAML seguente mostra come visualizzare un oggetto ProgressBar:

<ProgressBar Progress="0.5" />

Il codice C# equivalente è il seguente:

ProgressBar progressBar = new ProgressBar { Progress = 0.5 };

Avviso

Non usare opzioni di layout orizzontale senza vincoli, ad Centeresempio , Starto End con ProgressBar. Mantenere il valore predefinito HorizontalOptions di Fill.

L'esempio XAML seguente mostra come modificare il colore di un oggetto ProgressBar:

<ProgressBar Progress="0.5"
             ProgressColor="Orange" />

Il codice C# equivalente è il seguente:

ProgressBar progressBar = new ProgressBar
{
    Progress = 0.5,
    ProgressColor = Colors.Orange
};

Animare un indicatore di stato

Il ProgressTo metodo anima l'oggetto ProgressBar dal valore corrente Progress a un valore specificato nel tempo. Il metodo accetta un double valore di stato, una uint durata in millisecondi, un Easing valore di enumerazione e restituisce un oggetto Task<bool>. Nell'esempio seguente viene illustrato come animare un oggetto ProgressBar:

// animate to 75% progress over 500 milliseconds with linear easing
await progressBar.ProgressTo(0.75, 500, Easing.Linear);

Per altre informazioni sull'enumerazione Easing , vedere Funzioni di interpolazione.