Teilen über


Xamarin.Forms ProgressBar

Das Xamarin.FormsProgressBar Steuerelement stellt den Fortschritt visuell als horizontale Leiste dar, die mit einem Prozentsatz gefüllt ist, der durch einen float Wert dargestellt wird. Die Klasse ProgressBar erbt von View.

Die folgenden Screenshots zeigen eine ProgressBar unter iOS und Android:

Screenshot der ProgressBar unter iOS und Android

Das ProgressBar Steuerelement definiert zwei Eigenschaften:

  • Progress ist ein float-Wert, der den aktuellen Fortschritt als Wert zwischen 0 und 1 darstellt. Progress-Werte kleiner als 0 werden auf 0 festgelegt, Werte größer als 1 werden auf 1 festgelegt.
  • ProgressColor ist ein Color Wert, der sich auf die Innenleistenfarbe auswirkt, die den aktuellen Fortschritt darstellt.

Diese Eigenschaften werden durch BindableProperty Objekte gesichert, was bedeutet, dass die ProgressBar Formatvorlage formatiert und das Ziel von Datenbindungen sein kann.

Das ProgressBar Steuerelement definiert auch eine ProgressTo Methode, mit der der Balken von seinem aktuellen Wert zu einem angegebenen Wert animiert wird. Weitere Informationen finden Sie unter Animieren einer ProgressBar.

Hinweis

Die ProgressBar Benutzerbearbeitung wird nicht akzeptiert, sodass sie übersprungen wird, wenn Sie die TAB-TASTE zum Auswählen von Steuerelementen verwenden.

Erstellen einer ProgressBar

Ein ProgressBar kann in XAML instanziiert werden. Die Progress Eigenschaft bestimmt den Füllprozentsatz des inneren, farbigen Balkens. Der Standardwert Progress der Eigenschaft ist 0. Das folgende Beispiel zeigt, wie man ein ProgressBar in XAML mit der optionalen Progress-Eigenschaft instanziiert:

<ProgressBar Progress="0.5" />

Ein ProgressBar kann auch im Code erstellt werden:

ProgressBar progressBar = new ProgressBar { Progress = 0.5f };

Warnung

Verwenden Sie mit der ProgressBar keine uneingeschränkten horizontalen Layoutoptionen, wie z. B. Center, Start oder End. Unter UWP wird der ProgressBar Balken mit nuller Breite reduziert. Behalten Sie den Standardwert HorizontalOptions bei und verwenden Sie beim Einfügen eines ProgressBarGrid Layouts keine BreiteAuto.Fill

Statusleistendarstellungseigenschaften

Die ProgressColor Eigenschaft definiert die Farbe des inneren Balkens, wenn die Progress Eigenschaft größer als 0 ist. Das folgende Beispiel zeigt, wie Sie ein ProgressBar XAML-Code mit dem ProgressColor Eigenschaftensatz instanziieren:

<ProgressBar ProgressColor="Orange" />

Die ProgressColor Eigenschaft kann auch beim Erstellen eines ProgressBar Codes festgelegt werden:

ProgressBar progressBar = new ProgressBar { ProgressColor = Color.Orange };

Die folgenden Screenshots zeigen die ProgressBar Eigenschaft, auf die ProgressColor für iOS und Android festgelegt ist Color.Orange :

Screenshot der formatierten ProgressBar unter iOS und Android

Animieren einer ProgressBar

Die ProgressTo-Methode animiert die ProgressBar im Laufe der Zeit von ihrem aktuellen Progress-Wert zu einem angegebenen Wert. Die Methode akzeptiert einen float-Fortschrittswert, eine uint-Dauer in Millisekunden, einen Easing- Enumerationswert und gibt einen Task<bool> zurück. Der folgende Code veranschaulicht das Animieren eines ProgressBar:

// 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.