ProgressBar
.NET Multi-platform App UI (.NET MAUI) ProgressBar 可向用户指明应用正在进行一项冗长的活动。 进度栏是一个水平条,用 double
表示的百分比填充。
ProgressBar 的外观与平台有关,以下屏幕截图显示的是 Android 上的 ProgressBar:
ProgressBar 定义两个属性:
Progress
是一个double
值,用 0 到 1 的数值表示当前进度。 小于 0 的Progress
值将固定为 0,大于 1 的值将固定为 1。 此属性的默认值为 0。ProgressColor
是一个定义 ProgressBar 颜色的 Color 值。
这些属性由 BindableProperty 对象提供支持;也就是说,它们可以作为数据绑定的目标,并能进行样式设置。
ProgressBar 还定义 ProgressTo
方法,该方法可为进度条从当前值到指定值的过程设置动画。 有关详细信息,请参阅对 ProgressBar 进行动画处理。
创建 ProgressBar
要显示冗长活动的进度,请创建一个 ProgressBar 对象并设置其属性以定义其外观。
以下 XAML 示例演示如何显示 ProgressBar:
<ProgressBar Progress="0.5" />
等效 C# 代码如下:
ProgressBar progressBar = new ProgressBar { Progress = 0.5 };
警告
请勿针对 ProgressBar 使用不受约束的水平布局选项,例如 Center
、Start
或 End
。 保持 Fill
的默认 HorizontalOptions
值。
以下 XAML 示例演示了如何更改 ProgressBar 的颜色:
<ProgressBar Progress="0.5"
ProgressColor="Orange" />
等效 C# 代码如下:
ProgressBar progressBar = new ProgressBar
{
Progress = 0.5,
ProgressColor = Colors.Orange
};
对 ProgressBar 进行动画处理
ProgressTo
方法会对 ProgressBar 在一段时间内从其当前 Progress
值转换为所提供的值的过程设置动画。 该方法接受 double
进度值、 uint
持续时间(以毫秒为单位)和 Easing 枚举值,并返回 Task<bool>
。 以下示例展示了如何对 ProgressBar 进行动画处理:
// animate to 75% progress over 500 milliseconds with linear easing
await progressBar.ProgressTo(0.75, 500, Easing.Linear);