Udostępnij za pośrednictwem


ProgressBar

Interfejs użytkownika aplikacji wieloplatformowej platformy .NET (.NET MAUI) ProgressBar wskazuje użytkownikom, że aplikacja przechodzi przez długotrwałe działanie. Pasek postępu to poziomy pasek wypełniony wartością procentową reprezentowaną double przez wartość.

Wygląd elementu ProgressBar jest zależny od platformy, a poniższy zrzut ekranu przedstawia element ProgressBar w systemie Android:

Screenshot of ProgressBar on Android.

ProgressBar definiuje dwie właściwości:

  • Progress jest wartością double reprezentującą bieżący postęp jako wartość z zakresu od 0 do 1. Progress wartości mniejsze niż 0 zostaną zaciśnięte do 0, wartości większe niż 1 zostaną zaciśnięte do 1. Wartość domyślna tej właściwości to 0.
  • ProgressColor to Color wartości definiujące kolor elementu ProgressBar.

Te właściwości są wspierane przez BindableProperty obiekty, co oznacza, że mogą być obiektami docelowymi powiązań danych i stylizowanymi.

ProgressBar Definiuje również metodę ProgressTo , która animuje słupek z bieżącej wartości na określoną wartość. Aby uzyskać więcej informacji, zobacz Animowanie paska postępu.

Tworzenie paska postępu

Aby wskazać postęp długotrwałego działania, utwórz ProgressBar obiekt i ustaw jego właściwości w celu zdefiniowania jego wyglądu.

W poniższym przykładzie XAML pokazano, jak wyświetlić element ProgressBar:

<ProgressBar Progress="0.5" />

Równoważny kod języka C# to:

ProgressBar progressBar = new ProgressBar { Progress = 0.5 };

Ostrzeżenie

Nie używaj nieobsługiwanych opcji układu poziomego, takich jak Center, Startlub End z .ProgressBar Zachowaj wartość domyślną HorizontalOptions .Fill

W poniższym przykładzie XAML pokazano, jak zmienić kolor elementu ProgressBar:

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

Równoważny kod języka C# to:

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

Animowanie paska postępu

Metoda ProgressTo animuje ProgressBar wartość z bieżącej Progress wartości na podaną w czasie. Metoda akceptuje double wartość postępu, uint czas trwania w milisekundach, Easing wartość wyliczenia i zwraca Task<bool>wartość . W poniższym przykładzie pokazano, jak animować element ProgressBar:

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

Aby uzyskać więcej informacji na Easing temat wyliczenia, zobacz Funkcje easing.