Xamarin.Forms ProgressBar
Элемент Xamarin.FormsProgressBar
управления визуально представляет ход выполнения в виде горизонтальной полосы, заполненной в процентах, представленных значением float
. Класс ProgressBar
наследует от View
.
На снимках экрана ниже показана страница ProgressBar
в iOS и Android.
Элемент ProgressBar
управления определяет два свойства:
Progress
float
— это значение, представляющее текущий ход выполнения как значение от 0 до 1.Progress
Значения меньше 0 будут зажаты до 0, значения, превышающие 1, будут зажаты до 1.ProgressColor
— это объектColor
, влияющий на цвет внутренней панели, представляющий текущий ход выполнения.
Эти свойства поддерживаются BindableProperty
объектами, что означает, что ProgressBar
их можно стильировать и быть целевым объектом привязок данных.
Элемент ProgressBar
управления также определяет ProgressTo
метод, который анимирует панель из текущего значения в указанное значение. Дополнительные сведения см. в разделе Animate a ProgressBar.
Примечание.
Не ProgressBar
принимает обработку пользователей, поэтому при выборе элементов управления с помощью клавиши TAB пропускается.
Создание индикатора хода выполнения
Экземпляр ProgressBar
можно создать в XAML. Его Progress
свойство определяет процент заливки внутренней цветной полосы. Значение свойства по умолчанию Progress
равно 0. В следующем примере показано, как создать экземпляр в ProgressBar
XAML с необязательным Progress
набором свойств:
<ProgressBar Progress="0.5" />
Можно ProgressBar
также создать в коде:
ProgressBar progressBar = new ProgressBar { Progress = 0.5f };
Предупреждение
Не используйте не ограниченные параметры горизонтального макета, например Center
, Start
или End
с ProgressBar
. На UWP ProgressBar
сворачивается на полосу нулевой ширины. Сохраните значение Fill
по умолчанию HorizontalOptions
и не используйте ширину Auto
при вводе ProgressBar
Grid
в макет.
Свойства внешнего вида ProgressBar
Свойство ProgressColor
определяет внутренний цвет панели, если Progress
свойство больше нуля. В следующем примере показано, как создать экземпляр в ProgressBar
XAML с набором ProgressColor
свойств:
<ProgressBar ProgressColor="Orange" />
Свойство ProgressColor
также можно задать при создании в коде ProgressBar
:
ProgressBar progressBar = new ProgressBar { ProgressColor = Color.Orange };
На следующих снимках экрана показано ProgressBar
свойство, заданное ProgressColor
Color.Orange
в iOS и Android:
Анимация индикатора хода выполнения
Метод ProgressTo
анимирует ProgressBar
значение из текущего Progress
значения в предоставленное значение с течением времени. Метод принимает float
значение хода выполнения, uint
длительность в миллисекундах, Easing
значение перечисления и возвращает значение Task<bool>
. В следующем коде показано, как анимировать :ProgressBar
// animate to 75% progress over 500 milliseconds with linear easing
await progressBar.ProgressTo(0.75, 500, Easing.Linear);
Дополнительные сведения о Easing
перечислении см. в Xamarin.Formsразделе "Упрощение функций".