Xamarin.Forms Progressbar
Das Xamarin.FormsProgressBar
Steuerelement stellt den Fortschritt visuell als horizontalen Balken dar, der mit einem Prozentsatz gefüllt wird, der durch einen float
Wert dargestellt wird. Die Klasse ProgressBar
erbt von View
.
Die folgenden Screenshots zeigen eine ProgressBar
unter iOS und Android:
Das ProgressBar
Steuerelement definiert zwei Eigenschaften:
Progress
ist einfloat
Wert, der den aktuellen Fortschritt als Wert von 0 bis 1 darstellt.Progress
Werte kleiner als 0 werden auf 0 geklemmt, Werte größer als 1 werden auf 1 geklemmt.ProgressColor
ist eineColor
, die sich auf die Innenleistenfarbe auswirkt, die den aktuellen Fortschritt darstellt.
Diese Eigenschaften werden durch BindableProperty
Objekte unterstützt, was bedeutet, dass die ProgressBar
formatiert werden kann und das Ziel von Datenbindungen sein kann.
Das ProgressBar
Steuerelement definiert auch eine ProgressTo
Methode, die den Balken von seinem aktuellen Wert zu einem angegebenen Wert animiert. Weitere Informationen finden Sie unter Animieren einer Statusleiste.
Hinweis
Der ProgressBar
akzeptiert keine Benutzerbearbeitung, sodass es übersprungen wird, wenn die TAB-TASTE zum Auswählen von Steuerelementen verwendet wird.
Erstellen einer Fortschrittsleiste
Ein ProgressBar
kann in XAML instanziiert werden. Seine Progress
Eigenschaft bestimmt den Füllprozentsatz des inneren, farbigen Balkens. Der Standardwert Progress
der Eigenschaft ist 0. Im folgenden Beispiel wird veranschaulicht, wie sie in ProgressBar
XAML mit der optionalen Progress
Eigenschaft instanziieren:
<ProgressBar Progress="0.5" />
Ein ProgressBar
kann auch im Code erstellt werden:
ProgressBar progressBar = new ProgressBar { Progress = 0.5f };
Warnung
Verwenden Sie keine nicht eingeschränkten horizontalen Layoutoptionen wie Center
, Start
oder End
mit ProgressBar
. In UWP wird der ProgressBar
auf einen Balken mit der Breite null reduziert. Behalten Sie den Standardwert HorizontalOptions
von Fill
bei, und verwenden Sie keine Breite von, Auto
wenn Sie einen ProgressBar
in ein Grid
Layout einfügen.
ProgressBar-Darstellungseigenschaften
Die ProgressColor
-Eigenschaft definiert die innere Balkenfarbe, wenn die Progress
Eigenschaft größer als 0 ist. Das folgende Beispiel zeigt, wie Sie eine ProgressBar
in XAML instanziieren, wobei die ProgressColor
Eigenschaft festgelegt ist:
<ProgressBar ProgressColor="Orange" />
Die ProgressColor
-Eigenschaft kann auch beim Erstellen eines ProgressBar
im Code festgelegt werden:
ProgressBar progressBar = new ProgressBar { ProgressColor = Color.Orange };
Die folgenden Screenshots zeigen, dass die ProgressBar
ProgressColor
-Eigenschaft unter iOS und Android auf Color.Orange
festgelegt ist:
Animieren einer Statusleiste
Die ProgressTo
-Methode animiert den von ihrem aktuellen Progress
Wert im Laufe der ProgressBar
Zeit zu einem bereitgestellten Wert. Die -Methode akzeptiert einen float
Statuswert, eine uint
Dauer in Millisekunden, einen Easing
Enumerationswert und gibt einen Task<bool>
zurück. Der folgende Code veranschaulicht, wie ein ProgressBar
animiert wird:
// animate to 75% progress over 500 milliseconds with linear easing
await progressBar.ProgressTo(0.75, 500, Easing.Linear);
Weitere Informationen zur Easing
Enumeration finden Sie unter Beschleunigungsfunktionen in Xamarin.Forms.