Plugin.Maui.MilestoneTracker
1.0.1
See the version list below for details.
dotnet add package Plugin.Maui.MilestoneTracker --version 1.0.1
NuGet\Install-Package Plugin.Maui.MilestoneTracker -Version 1.0.1
<PackageReference Include="Plugin.Maui.MilestoneTracker" Version="1.0.1" />
<PackageVersion Include="Plugin.Maui.MilestoneTracker" Version="1.0.1" />
<PackageReference Include="Plugin.Maui.MilestoneTracker" />
paket add Plugin.Maui.MilestoneTracker --version 1.0.1
#r "nuget: Plugin.Maui.MilestoneTracker, 1.0.1"
#:package Plugin.Maui.MilestoneTracker@1.0.1
#addin nuget:?package=Plugin.Maui.MilestoneTracker&version=1.0.1
#tool nuget:?package=Plugin.Maui.MilestoneTracker&version=1.0.1
Plugin.Maui.MilestoneTracker
A lightweight and customizable milestone tracking UI component for .NET MAUI apps. Ideal for visualizing user progress, achievements, onboarding steps, or any sequence of tasks in a beautiful and animated path-based layout.
β¨ Features
π Dynamic progress animation along a smooth path
π Custom milestone icons (completed + default)
βοΈ MVVM-friendly with full data-binding support
π§© Easy to integrate
π Optimized for performance β renders only whatβs needed
π± Works on Android, iOS, Windows and macOS via .NET MAUI
π¦ Installation
Install via NuGet:
<pre> dotnet add package Plugin.Maui.MilestoneTracker </pre>
Or via Visual Studio NuGet UI:
<pre> Plugin.Maui.MilestoneTracker </pre>
π Getting Started
- Add Namespace
<pre> xmlns:milestone="clr-namespace:Plugin.Maui.MilestoneTracker.Journey;assembly=Plugin.Maui.MilestoneTracker" </pre>
- Use in XAML
<milestone:MilestoneTracker
x:Name="milestoneView"
AnimationSpeed="Normal"
Milestones="{Binding Milestones}"
StartAnimation="{Binding StartAnimation}"
PathColor="#000000"
HeightRequest="150" />
- Page.cs
protected override async void OnAppearing()
{
MilestoneTracker.Milestones = Milestones;
MilestoneTracker.StartAnimation = true;
}
π§© Example ViewModel
public ObservableCollection<Milestone> Milestones { get; set; } = new()
{
new Milestone { ImageSource = "milestone1.png", CompletedImageSource = "milestone1_done.png", IsCompleted = true },
new Milestone { ImageSource = "milestone2.png", CompletedImageSource = "milestone2_done.png", IsCompleted = false },
new Milestone { ImageSource = "milestone3.png", CompletedImageSource = "milestone3_done.png", IsCompleted = false }
};
π§Ό Best Practices
Use ObservableCollection<T> for dynamic updates.
Bind directly to your ViewModel using BindingContext.
π§ͺ Planned Features
Vertical layout mode
Horizontal scrollable milestones
Milestone click events (e.g., show detail on tap)
Custom path shapes (curves, waves, etc.)
Dark mode support
π License
MIT License Β© 2025 Ali Raza
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net8.0 is compatible. net8.0-android was computed. net8.0-android34.0 is compatible. net8.0-browser was computed. net8.0-ios was computed. net8.0-ios18.0 is compatible. net8.0-maccatalyst was computed. net8.0-maccatalyst18.0 is compatible. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net8.0-windows10.0.19041 is compatible. net9.0 is compatible. net9.0-android was computed. net9.0-android35.0 is compatible. net9.0-browser was computed. net9.0-ios was computed. net9.0-ios18.0 is compatible. net9.0-maccatalyst was computed. net9.0-maccatalyst18.0 is compatible. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net9.0-windows10.0.19041 is compatible. net10.0 was computed. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
-
net8.0
- Microsoft.Maui.Controls (>= 8.0.100)
- SkiaSharp.Views.Maui.Controls (>= 3.119.0)
-
net8.0-android34.0
- Microsoft.Maui.Controls (>= 8.0.100)
- SkiaSharp.Views.Maui.Controls (>= 3.119.0)
-
net8.0-ios18.0
- Microsoft.Maui.Controls (>= 8.0.100)
- SkiaSharp.Views.Maui.Controls (>= 3.119.0)
-
net8.0-maccatalyst18.0
- Microsoft.Maui.Controls (>= 8.0.100)
- SkiaSharp.Views.Maui.Controls (>= 3.119.0)
-
net8.0-windows10.0.19041
- Microsoft.Maui.Controls (>= 8.0.100)
- SkiaSharp.Views.Maui.Controls (>= 3.119.0)
-
net9.0
- Microsoft.Maui.Controls (>= 9.0.51)
- SkiaSharp.Views.Maui.Controls (>= 3.119.0)
-
net9.0-android35.0
- Microsoft.Maui.Controls (>= 9.0.51)
- SkiaSharp.Views.Maui.Controls (>= 3.119.0)
-
net9.0-ios18.0
- Microsoft.Maui.Controls (>= 9.0.51)
- SkiaSharp.Views.Maui.Controls (>= 3.119.0)
-
net9.0-maccatalyst18.0
- Microsoft.Maui.Controls (>= 9.0.51)
- SkiaSharp.Views.Maui.Controls (>= 3.119.0)
-
net9.0-windows10.0.19041
- Microsoft.Maui.Controls (>= 9.0.51)
- SkiaSharp.Views.Maui.Controls (>= 3.119.0)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.