Поделиться через


ProgressBar

Пользовательский интерфейс многоплатформенного приложения .NET (.NET MAUI) ProgressBar указывает пользователям, что приложение выполняется с помощью длительного действия. Индикатор выполнения — это горизонтальная полоса, заполненная в процентах, представленных значением double .

Внешний ProgressBar вид зависит от платформы и на следующем снимок экрана показан ProgressBar на Android:

Screenshot of ProgressBar on Android.

ProgressBar определяет два свойства:

  • Progressdouble— это значение, представляющее текущий ход выполнения как значение от 0 до 1. Progress Значения меньше 0 будут зажаты до 0, значения, превышающие 1, будут зажаты до 1. Значение этого свойства по умолчанию равно 0.
  • ProgressColorColor— это значения, определяющие цвет объектаProgressBar.

Эти свойства поддерживаются объектами BindableProperty, то есть эти свойства можно указывать в качестве целевых для привязки и стилизации данных.

ProgressBar также определяет ProgressTo метод, который анимирует строку из текущего значения в указанное значение. Дополнительные сведения см. в разделе Animate a ProgressBar.

Создание индикатора хода выполнения

Чтобы указать ход выполнения с помощью длительного действия, создайте ProgressBar объект и задайте его свойства, чтобы определить его внешний вид.

В следующем примере XAML показано, как отобразить следующее ProgressBar:

<ProgressBar Progress="0.5" />

Эквивалентный код на C# выглядит так:

ProgressBar progressBar = new ProgressBar { Progress = 0.5 };

Предупреждение

Не используйте не ограниченные параметры горизонтального макета, например Center, Startили End с ProgressBar. Сохраните значение Fillпо умолчаниюHorizontalOptions.

В следующем примере XAML показано, как изменить цвет ProgressBar:

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

Эквивалентный код на C# выглядит так:

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

Анимация индикатора хода выполнения

Метод ProgressTo анимирует ProgressBar значение из текущего Progress значения в предоставленное значение с течением времени. Метод принимает double значение хода выполнения, uint длительность в миллисекундах, Easing значение перечисления и возвращает значение Task<bool>. В следующем примере показано, как анимировать a ProgressBar:

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

Дополнительные сведения о перечислении см. в Easing разделе "Упрощение функций".