ProgressBar
Пользовательский интерфейс многоплатформенного приложения .NET (.NET MAUI) ProgressBar указывает пользователям, что приложение выполняется с помощью длительного действия. Индикатор выполнения — это горизонтальная полоса, заполненная в процентах, представленных значением double
.
Внешний ProgressBar вид зависит от платформы и на следующем снимок экрана показан ProgressBar на Android:
ProgressBar определяет два свойства:
Progress
double
— это значение, представляющее текущий ход выполнения как значение от 0 до 1.Progress
Значения меньше 0 будут зажаты до 0, значения, превышающие 1, будут зажаты до 1. Значение этого свойства по умолчанию равно 0.ProgressColor
Color— это значения, определяющие цвет объекта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 разделе "Упрощение функций".