我正在使用 .NET MAUI 构建跨平台桌面应用程序。
我有一个冗长的事件,我想为其显示一个不确定的进度条(如看到的 here ),以便用户可以看到操作正在运行,没有已知的结束。
我熟悉 MAUI 进度条元素以及如何为已知进度设置动画,如图所示 here .
await progressBar.ProgressTo(0.75, 500, Easing.Linear);
但是,似乎没有一种本地方法可以在不从 0 到 100 再返回的情况下增加和缩小条形图。以这种方式设置动画时,我必须填满整个条并设置回 0。我无法在范围(例如 25% - 50%)之间设置动画。
有没有办法在 MAUI 应用中实现不确定的进度条?
最佳答案
我刚刚在 nuget.org 上发布了一个 ProgressBar 包,可用于您的目的。它适用于 .NET MAUI 桌面应用程序。
repo :https://github.com/ewerspej/epj.ProgressBar.Maui
Nuget:https://www.nuget.org/packages/epj.ProgressBar.Maui
它仍然是一个预发布版本,但如果您愿意,可以尝试一下。
您必须根据自己的需要实现动画,但您绝对可以使用动画来创建不确定状态之类的东西。
XAML
您需要设置 UseRange = true 才能正常工作。
<maui:ProgressBar
x:Name="AnimatedProgressBar"
HeightRequest="5"
Margin="15,0"
UseRange="True"
UseGradient="True"
ProgressColor="Blue"
GradientColor="Orange"/>
代码
public MainPage()
{
InitializeComponent();
BindingContext = this;
var lowerAnimation = new Animation(v => AnimatedProgressBar.LowerRangeValue = (float)v, -0.4, 1.0);
var upperAnimation = new Animation(v => AnimatedProgressBar.UpperRangeValue = (float)v, 0.0, 1.4);
lowerAnimation.Commit(this, "lower", length: 1000, easing: Easing.CubicInOut, repeat: () => true);
upperAnimation.Commit(this, "upper", length: 1000, easing: Easing.CubicInOut, repeat: () => true);
}
关于c# - .NET Maui 不确定进度条,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/72873932/