Xamarin.FormsProgressBar ProgressBar

Beispiel herunterladen Das Beispiel herunterladenDownload Sample Download the sample

Das- Xamarin.Forms ProgressBar Steuerelement stellt den Fortschritt visuell als horizontalen Balken dar, der zu einem durch einen-Wert dargestellten Prozentsatz gefüllt wird float .The Xamarin.Forms ProgressBar control visually represents progress as a horizontal bar that is filled to a percentage represented by a float value. Die ProgressBar Klasse erbt von View .The ProgressBar class inherits from View.

Die folgenden Screenshots zeigen eine ProgressBar unter iOS und Android:The following screenshots show a ProgressBar on iOS and Android:

Screenshot von ProgressBar unter IOS und AndroidScreenshot of ProgressBar on iOS and Android

Das- ProgressBar Steuerelement definiert zwei Eigenschaften:The ProgressBar control defines two properties:

  • Progressein- float Wert, der den aktuellen Fortschritt als Wert zwischen 0 und 1 darstellt.Progress is a float value that represents the current progress as a value from 0 to 1. ProgressWerte, die kleiner als 0 sind, werden an 0 gebunden, Werte, die größer als 1 sind, werden an 1 gebunden.Progress values less than 0 will be clamped to 0, values greater than 1 will be clamped to 1.
  • ProgressColorist eine Color , die die Farbe der inneren Leiste beeinflusst, die den aktuellen Fortschritt darstellt.ProgressColor is a Color that affects the interior bar color representing the current progress.

Diese Eigenschaften werden durch BindableProperty -Objekte gestützt. Dies bedeutet, dass das formatiert ProgressBar werden kann und das Ziel von Daten Bindungen ist.These properties are backed by BindableProperty objects, which means that the ProgressBar can be styled and be the target of data bindings.

Das- ProgressBar Steuerelement definiert auch eine ProgressTo Methode, die die Leiste von Ihrem aktuellen Wert auf einen angegebenen Wert animiert.The ProgressBar control also defines a ProgressTo method that animates the bar from its current value to a specified value. Weitere Informationen finden Sie unter Animieren einer ProgressBar.For more information, see Animate a ProgressBar.

Hinweis

ProgressBarAkzeptiert die Benutzer Manipulation nicht, sodass Sie übersprungen wird, wenn die Tab-Taste verwendet wird, um Steuerelemente auszuwählen.The ProgressBar does not accept user manipulation so it is skipped when using the Tab key to select controls.

Erstellen einer ProgressBarCreate a ProgressBar

Eine ProgressBar kann in XAML instanziiert werden.A ProgressBar can be instantiated in XAML. ProgressDie-Eigenschaft bestimmt den Füll Prozentsatz der inneren, farbigen Leiste.Its Progress property determines the fill percentage of the inner, colored bar. Der Standard Progress Eigenschafts Wert ist 0 (null).The default Progress property value is 0. Im folgenden Beispiel wird gezeigt, wie ein ProgressBar in XAML mit dem optionalen Eigenschaften Satz instanziiert wird Progress :The following example shows how to instantiate a ProgressBar in XAML with the optional Progress property set:

<ProgressBar Progress="0.5" />

Ein ProgressBar kann auch im Code erstellt werden:A ProgressBar can also be created in code:

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

Warnung

Verwenden Sie keine eingeschränkten horizontalen Layoutoptionen wie Center , Start oder End mit ProgressBar .Do not use unconstrained horizontal layout options such as Center, Start, or End with ProgressBar. Bei UWP reduziert sich der ProgressBar auf einen Balken der Breite 0 (null).On UWP, the ProgressBar collapses to a bar of zero width. Behalten Sie den Standard HorizontalOptions Wert von Fill bei, und verwenden Sie keine Breite von, wenn Sie Auto eine ProgressBar in einem Grid Layout platzieren.Keep the default HorizontalOptions value of Fill and don't use a width of Auto when putting a ProgressBar in a Grid layout.

ProgressBar-Darstellungs EigenschaftenProgressBar appearance properties

Die- ProgressColor Eigenschaft definiert die Farbe der inneren Leiste, wenn die- Progress Eigenschaft größer als 0 (null) ist.The ProgressColor property defines the inner bar color when the Progress property is greater than zero. Im folgenden Beispiel wird gezeigt, wie ein ProgressBar in XAML mit dem-Eigenschaften Satz instanziiert wird ProgressColor :The following example shows how to instantiate a ProgressBar in XAML with the ProgressColor property set:

<ProgressBar ProgressColor="Orange" />

Die- ProgressColor Eigenschaft kann auch festgelegt werden, wenn ein-Objekt ProgressBar im Code erstellt wird:The ProgressColor property can also be set when creating a ProgressBar in code:

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

Die folgenden Screenshots zeigen den ProgressBar , bei dem die ProgressColor -Eigenschaft unter Color.Orange IOS und Android auf festgelegt ist:The following screenshots show the ProgressBar with the ProgressColor property set to Color.Orange on iOS and Android:

Screenshot der formatierten ProgressBar unter IOS und AndroidScreenshot of styled ProgressBar on iOS and Android

Animieren einer ProgressBarAnimate a ProgressBar

Mit der- ProgressTo Methode wird die ProgressBar von Ihrem aktuellen Progress Wert zu einem bereitgestellten Wert im Laufe der Zeit animiert.The ProgressTo method animates the ProgressBar from its current Progress value to a provided value over time. Die-Methode akzeptiert einen float Fortschritts Wert, eine uint Dauer in Millisekunden, einen Enumerationswert Easing und gibt einen zurück Task<bool> .The method accepts a float progress value, a uint duration in milliseconds, an Easing enum value and returns a Task<bool>. Der folgende Code veranschaulicht, wie Sie eine animieren ProgressBar :The following code demonstrates how to animate a 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 Beschleunigungs Funktionen in Xamarin.Forms .For more information about the Easing enumeration, see Easing functions in Xamarin.Forms.