ProgressBarAnimationBehavior
ProgressBar Animation Behavior 可用于为 ProgressBar
ProgressBar 设置动画,范围是从其当前 Progress 值到一段时间过后的某个指定值。 该方法接受 Double
进度值、uint
持续时间(以毫秒为单位)和 Easing
枚举值。
重要
.NET MAUI 社区工具包行为不会设置行为的 BindingContext
,因为可以通过样式共享行为,并将其应用于多个控件。 有关详细信息,请参阅 .NET MAUI 行为
语法
XAML
包括 XAML 命名空间
若要在 XAML 中使用工具包,需要将以下 xmlns
添加到页面或视图中:
xmlns:toolkit="http://schemas.microsoft.com/dotnet/2022/maui/toolkit"
因此,以下内容:
<ContentPage
x:Class="CommunityToolkit.Maui.Sample.Pages.MyPage"
xmlns="http://schemas.microsoft.com/dotnet/2021/maui"
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml">
</ContentPage>
将被修改为包括 xmlns
,如下所示:
<ContentPage
x:Class="CommunityToolkit.Maui.Sample.Pages.MyPage"
xmlns="http://schemas.microsoft.com/dotnet/2021/maui"
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
xmlns:toolkit="http://schemas.microsoft.com/dotnet/2022/maui/toolkit">
</ContentPage>
使用 ProgressBarAnimationBehavior
ProgressBarAnimationBehavior
可以在 XAML 中按如下所示方式使用:
<ContentPage
xmlns="http://schemas.microsoft.com/dotnet/2021/maui"
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
xmlns:toolkit="http://schemas.microsoft.com/dotnet/2022/maui/toolkit"
x:Class="MyLittleApp.MainPage"
x:Name="Page">
<Label Text="The ProgressBarAnimationBehavior is a behavior that animates a ProgressBar" />
<ProgressBar>
<ProgressBar.Behaviors>
<toolkit:ProgressBarAnimationBehavior
x:Name="ProgressBarAnimationBehavior"
Progress="{Binding Source={x:Reference Page}, Path=BindingContext.Progress, x:DataType=ContentPage}"
Length="250"/>
</ProgressBar.Behaviors>
</ProgressBar>
</ContentPage>
C#
ProgressBarAnimationBehavior
可在 C# 中按如下所示方式使用:
class ProgressBarAnimationBehaviorPage : ContentPage
{
public ProgressBarAnimationBehaviorPage()
{
var progressBar = new ProgressBar();
var behavior = new ProgressBarAnimationBehavior()
{
Progress = 0.75,
Length = 250
};
progressBar.Behaviors.Add(behavior);
Content = progressBar;
}
}
C# 标记
我们的 CommunityToolkit.Maui.Markup
包提供一种更简洁的方式来在 C# 中使用此 Behavior
。
using CommunityToolkit.Maui.Markup;
class ProgressBarAnimationBehaviorPage : ContentPage
{
public ProgressBarAnimationBehaviorPage()
{
Content = new ProgressBar()
.Behaviors(new ProgressBarAnimationBehavior
{
Progress = 0.75,
Length = 250
});
}
}
属性
属性 | 类型 | 描述 |
---|---|---|
进度 | 双精度 | 将会以百分比形式进行动画处理的新进度值,1 为 100%,因此 0.75 为 75% |
长度 | uint | 持续时间(毫秒) |
“缓动” | enum | enum 可控制 Easing ,允许你指定一个传输函数,用于控制动画加速或减速的方式。 可在此处了解有关缓动的更多详细信息 |
示例
可以在 .NET MAUI 社区工具包示例应用程序中查找此行为的示例。
API
可以在 .NET MAUI 社区工具包 GitHub 存储库查看ProgressBarAnimationBehavior
的源代码