You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
An enhanced WinUI 3ProgressBar control published by ZipGenius.
It mirrors the full API of the standard WinUI 3 ProgressBar and adds a rich set of opt-in features,
including predefined themes that replicate the classic Windows 7, Windows 10 and Windows 11 progress bar looks.
Features
Feature
Default
Description
Predefined themes
Windows11
Built-in Windows 11, Windows 10 and Windows 7 visual presets
Taskbar progress
off
Drives the Windows taskbar button indicator via ITaskbarList3
Tick marks
None
Renders ticks Above, Below, or Both sides of the bar
Named states
Normal
Normal · Warning · Error · Disabled · Indeterminate
Percentage label
off
Completion percentage displayed to the right of the bar
Fill thickness
0 (= full)
Independent height of the fill stripe inside the track
<!-- Default Windows 11 theme -->
<ctrl:BetterProgressBarValue="65" />
<!-- Explicit Windows 11 theme with ticks and percentage -->
<ctrl:BetterProgressBarValue="40"Theme="Windows11"BarHeight="14"Ticks="Both"TickFrequency="10"ShowPercentage="True" />
<!-- Warning state -->
<ctrl:BetterProgressBarValue="80"ProgressState="Warning" />
<!-- Indeterminate -->
<ctrl:BetterProgressBarProgressState="Indeterminate" />
4. Taskbar integration (code-behind)
// In your MainWindow constructor, after the window is created:usingWinRT.Interop;ninthwnd=WindowNative.GetWindowHandle(this);MyBar.SetTaskbarOwnerWindow(hwnd);MyBar.SyncTaskbar=true;
From this point any change to Value or ProgressState is automatically reflected
in the Windows taskbar button.
Themes
BetterProgressBar ships with three predefined visual themes that replicate the classic Windows progress bar looks.
Set the Theme property to activate one; individual appearance properties can still override specific values afterwards.
<!-- Windows 11 (default) — slim 4 px bar, rounded corners, accent blue -->
<ctrl:BetterProgressBarValue="60"Theme="Windows11" />
<!-- Windows 10 — 20 px tall, green fill, flat track, no rounding -->
<ctrl:BetterProgressBarValue="60"Theme="Windows10" />
<!-- Windows 7 — 20 px tall, Aero-style gradient fill, glass highlight, sunken track, animated shimmer -->
<ctrl:BetterProgressBarValue="60"Theme="Windows7" />
<!-- No theme — full manual control -->
<ctrl:BetterProgressBarValue="60"Theme="None"BarHeight="12"FillBrush="#FF008080"TrackBrush="#FFDDDDDD" />
ProgressBarTheme enum
Value
Description
Windows11
Slim 4 px bar, rounded corners, accent blue fill (default)
Windows10
20 px tall, green fill #06B025, light gray track, no rounding, shimmer animation
<!-- Ticks above only, 10 equal divisions -->
<ctrl:BetterProgressBarValue="40"Ticks="Above"TickFrequency="10" />
<!-- Ticks on both sides, 5 divisions, with percentage label -->
<ctrl:BetterProgressBarValue="75"Ticks="Both"TickFrequency="5"ShowPercentage="True" />
TickFrequency sets the number of equal divisions (1–10). Endpoint ticks (0 % and 100 %) are tallest,
the midpoint tick (50 %) is medium height, and all intermediate ticks are the shortest.
FillThickness
FillThickness lets you create a thin fill stripe inside a taller track:
<!-- 20 px tall track, 4 px fill stripe centered inside it -->
<ctrl:BetterProgressBarValue="55"Theme="None"BarHeight="20"FillThickness="4" />
When FillThickness is 0 (default) the fill occupies the full BarHeight.