ProgressBar
Die .NET Multi-Platform App UI (.NET MAUI) ProgressBar zeigt Benutzer*innen an, dass die App einen längeren Prozess ausführt. Die Statusanzeige ist ein horizontaler Balken, der zu einem Prozentsatz gefüllt ist, der durch einen Wert von double
dargestellt wird.
Die Darstellung einer ProgressBar ist plattformabhängig. Der folgende Screenshot zeigt eine ProgressBar unter Android:
ProgressBar definiert zwei Eigenschaften:
Progress
ist eindouble
-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. Der Standardwert dieser Eigenschaft ist 0.ProgressColor
ist ein Color-Wert, der die Farbe der ProgressBar definiert.
Diese Eigenschaften werden durch BindableProperty-Objekte gestützt, was bedeutet, dass sie Ziele von Datenbindungen sein können, und geformt.
ProgressBar definiert auch eine ProgressTo
-Methode, die den Balken von seinem aktuellen Wert zu einem bestimmten Wert animiert. Weitere Informationen finden Sie unter Animieren einer ProgressBar.
Erstellen einer ProgressBar
Um den Fortschritt eines längeren Prozesses anzuzeigen, erstellen Sie ein ProgressBar-Objekt und definieren Sie dessen Eigenschaften, um die Darstellung zu definieren.
Das folgende XAML-Beispiel zeigt, wie eine ProgressBar angezeigt wird.
<ProgressBar Progress="0.5" />
Der entsprechende C#-Code lautet:
ProgressBar progressBar = new ProgressBar { Progress = 0.5 };
Warnung
Verwenden Sie mit der ProgressBar keine uneingeschränkten horizontalen Layoutoptionen, wie z. B. Center
, Start
oder End
. Behalten Sie den Standard-HorizontalOptions
-Wert von Fill
bei.
Das folgende XAML-Beispiel zeigt, wie die Farbe einer ProgressBar geändert wird:
<ProgressBar Progress="0.5"
ProgressColor="Orange" />
Der entsprechende C#-Code lautet:
ProgressBar progressBar = new ProgressBar
{
Progress = 0.5,
ProgressColor = Colors.Orange
};
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 double
-Fortschrittswert, eine uint
-Dauer in Millisekunden, einen Easing- Enumerationswert und gibt einen Task<bool>
zurück. Das folgende Beispiel zeigt, wie eine 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.