
syncfusion-winui-busy-indicator
Guide for implementing the Syncfusion WinUI BusyIndicator control to display loading indicators and progress status. Use this skill when implementing loading indicators, showing progress status, indicating background operations, or creating waiting screens in WinUI applications. Essential for async data loading, file operations, API calls, and any scenario requiring user notification during processing tasks.
- Installs
- 48
- Last 24h
- —
- Trending rank
- —
- Security
- Not audited
Install
Works with every agent the skills CLI supports.
npx skills add https://github.com/syncfusion/winui-ui-components-skills --skill syncfusion-winui-busy-indicator- 01
Install
Run the command in your project. The CLI asks which agents to install for.
- 02
Describe the task
Ask your agent for something this skill covers. It loads syncfusion-winui-busy-indicator automatically when relevant.
- 03
Review the result
The agent follows the SKILL.md steps, scripts and references bundled with the skill.
SKILL.md
The instructions your agent reads when the skill is triggered.
Implementing WinUI BusyIndicator
When to Use This Skill
Use this skill when the user needs to:
- Display a loading indicator during background operations
- Show busy/waiting status to users during async tasks
- Indicate progress for data loading, file operations, or API calls
- Create modal or inline loading animations
- Provide visual feedback during lengthy operations
- Implement any scenario requiring "please wait" indicators
Always apply this skill when the user mentions: loading indicators, busy indicators, progress animations, waiting screens, async operation feedback, or background task notifications in WinUI applications.
Component Overview
SfBusyIndicator is a Syncfusion WinUI control that displays predefined animated indicators to show busy/loading status. It provides 8 built-in animation types and extensive customization options for size, color, duration, and content.
Namespace: Syncfusion.UI.Xaml.Notifications
NuGet Package: Syncfusion.Notifications.WinUI
Platform: WinUI 3 Desktop (.NET 5+, Windows App SDK 1.0+)
Documentation and Navigation Guide
Getting Started
📄 Read: references/getting-started.md
- Installation and NuGet package setup
- Namespace imports and basic initialization
- IsActive property for controlling visibility
- License registration requirements
- First complete example
Animation Types
📄 Read: references/animation-types.md
- 8 built-in animation types (DottedCircularFluent, DottedCircle, DottedLinear, etc.)
- AnimationType property usage
- Visual examples and comparisons
- Choosing the right animation for your UI
- Default animation (DottedCircularFluent)
Content and Positioning
📄 Read: references/content.md
- BusyContent property for custom messages
- BusyContentPosition (Top, Bottom, Left, Right)
- BusyContentTemplate for advanced customization
- Custom DataTemplate examples
- Content display best practices
Customization Options
📄 Read: references/customization.md
- SizeFactor property (adjusting indicator size)
- DurationFactor property (animation speed control)
- Color property (indicator color customization)
- Combining customization properties
- Performance considerations
Quick Start Example
<Page
xmlns:notification="using:Syncfusion.UI.Xaml.Notifications">
<Grid>
<notification:SfBusyIndicator
x:Name="busyIndicator"
IsActive="True"
AnimationType="DottedCircularFluent"
BusyContent="Loading..."
BusyContentPosition="Bottom"
Color="DodgerBlue"
SizeFactor="0.5"/>
</Grid>
</Page>
using Syncfusion.UI.Xaml.Notifications;
// Create and configure BusyIndicator
SfBusyIndicator busyIndicator = new SfBusyIndicator
{
IsActive = true,
AnimationType = BusyIndicatorAnimationType.DottedCircularFluent,
BusyContent = "Loading...",
BusyContentPosition = BusyIndicatorContentPosition.Bottom,
Color = new SolidColorBrush(Colors.DodgerBlue),
SizeFactor = 0.5
};
// Add to UI
this.Content = busyIndicator;
Common Patterns
1. Simple Loading Indicator
<notification:SfBusyIndicator
IsActive="True"
BusyContent="Loading..."/>
When to use: Basic loading feedback without customization.
2. Async Data Loading with Code-Behind
<Grid>
<notification:SfBusyIndicator
x:Name="busyIndicator"
IsActive="{x:Bind ViewModel.IsLoading, Mode=OneWay}"
AnimationType="DottedCircle"
BusyContent="Loading data..."/>
</Grid>
private async void LoadDataAsync()
{
busyIndicator.IsActive = true;
try
{
await FetchDataFromApiAsync();
}
finally
{
busyIndicator.IsActive = false;
}
}
When to use: Control busy state programmatically during async operations.
3. Custom Animation with Content
<notification:SfBusyIndicator
IsActive="True"
AnimationType="LinearFluent"
BusyContent="Please wait..."
BusyContentPosition="Top"
Color="OrangeRed"
SizeFactor="0.7"/>
When to use: Need specific animation style with custom positioning and colors.
4. Modal Overlay Loading Screen
<Grid>
<!-- Main content -->
<StackPanel>
<TextBlock Text="Application Content"/>
<!-- Other UI elements -->
</StackPanel>
<!-- Overlay BusyIndicator -->
<Grid x:Name="loadingOverlay"
Background="#80000000"
Visibility="{x:Bind IsProcessing, Mode=OneWay}">
<notification:SfBusyIndicator
IsActive="True"
AnimationType="DoubleCircle"
BusyContent="Processing..."
Color="White"/>
</Grid>
</Grid>
When to use: Block UI interaction during critical operations.
5. Custom Content Template
<notification:SfBusyIndicator IsActive="True" AnimationType="DottedCircle">
<notification:SfBusyIndicator.BusyContentTemplate>
<DataTemplate>
<StackPanel Orientation="Horizontal" Spacing="10">
<TextBlock Text="⏳" FontSize="24"/>
<TextBlock Text="Loading data..."
FontSize="16"
FontWeight="SemiBold"/>
</StackPanel>
</DataTemplate>
</notification:SfBusyIndicator.BusyContentTemplate>
</notification:SfBusyIndicator>
When to use: Need rich content beyond simple text messages.
6. Slow Animation for Subtle Feedback
<notification:SfBusyIndicator
IsActive="True"
AnimationType="SingleCircle"
DurationFactor="0.9"
SizeFactor="0.3"
Color="Gray"/>
When to use: Provide subtle background activity indication without distracting users.
Key Properties
| Property | Type | Default | Description |
|---|---|---|---|
IsActive | bool | false | Controls whether the indicator is visible and animating. Set to true to show, false to hide. |
AnimationType | BusyIndicatorAnimationType | DottedCircularFluent | The animation style. Options: DottedCircularFluent, DottedCircle, DottedLinear, DoubleCircle, LinearBox, LinearFluent, LinearOscillatingBox, SingleCircle. |
BusyContent | object | null | The content displayed below/above/beside the indicator (typically a message). |
BusyContentPosition | BusyIndicatorContentPosition | Bottom | Position of content relative to indicator. Options: Top, Bottom, Left, Right. |
BusyContentTemplate | DataTemplate | null | Custom template for the busy content. Allows rich content beyond simple text. |
SizeFactor | double | 0.5 | Controls the size of the indicator. Range: 0.0 to 1.0. Higher values = larger indicator. |
DurationFactor | double | 0.5 | Controls animation speed. Range: 0.0 to 1.0. Higher values = slower animation. |
Color | Brush | System accent color | The color of the animated indicator elements. |
Common Use Cases
Data Loading Scenarios
- Fetching data from REST APIs or databases
- Loading large datasets into grids or lists
- Refreshing dashboard content
- Initializing application data on startup
Best Animation: DottedCircularFluent, DottedCircle
File Operations
- Uploading/downloading files
- Reading/writing large files
- Importing/exporting data
- Processing documents
Best Animation: LinearFluent, LinearBox
Long-Running Calculations
- Complex data analysis
- Report generation
- Image processing
- Search operations
Best Animation: DoubleCircle, SingleCircle
Background Tasks
- Synchronization operations
- Cache updates
- Background service communication
- Scheduled tasks
Best Animation: LinearOscillatingBox, DottedLinear (subtle)
Implementation Tips
-
Binding IsActive: Use data binding to ViewModel boolean properties for clean MVVM patterns.
-
Overlay Pattern: For modal loading, use a Grid with semi-transparent background containing the BusyIndicator.
-
Performance: BusyIndicator animations are GPU-accelerated. No performance concerns for multiple instances.
-
Accessibility: The control automatically handles accessibility features. Custom content should include proper accessibility properties.
-
Threading: Always activate/deactivate BusyIndicator on the UI thread. Use
DispatcherQueueif updating from background threads. -
User Experience:
- Show BusyIndicator immediately for operations expected to take >500ms
- Always hide when operation completes (use try-finally blocks)
- Position content appropriately for the UI context
- Choose animation types that match your app's design language
Related Documentation
- Animation Types: See references/animation-types.md for detailed comparison of all 8 animation styles
- Content Customization: See references/content.md for template examples and positioning strategies
- Customization: See references/customization.md for size, speed, and color options
FAQ
What does the syncfusion-winui-busy-indicator skill do?
Guide for implementing the Syncfusion WinUI BusyIndicator control to display loading indicators and progress status. Use this skill when implementing loading indicators, showing progress status, indicating background operations, or creating waiting screens in WinUI applications. Essential for async data loading, file operations, API calls, and any scenario requiring user notification during processing tasks.
How do I install syncfusion-winui-busy-indicator?
Run npx skills add https://github.com/syncfusion/winui-ui-components-skills --skill syncfusion-winui-busy-indicator in your project. The skills CLI detects the agents you use and copies the skill into the right folder. For Claude Code you can also place the skill folder at ~/.claude/skills/syncfusion-winui-busy-indicator/ (personal) or .claude/skills/syncfusion-winui-busy-indicator/ (project).
Which AI agents can use syncfusion-winui-busy-indicator?
Any agent that supports the open Agent Skills format (a folder with a SKILL.md file), including Claude Code, Codex, Cursor, GitHub Copilot, Gemini CLI, Windsurf, Cline, OpenCode and more.
Is syncfusion-winui-busy-indicator safe to install?
No partner security audit is available yet. Skills can run commands and scripts, so read the SKILL.md and any bundled files before installing.
Who maintains syncfusion-winui-busy-indicator?
It is published by syncfusion in syncfusion/winui-ui-components-skills. It has 48 recorded installs.
More from syncfusion/winui-ui-components-skills
syncfusion-winui-getting-started
syncfusion/winui-ui-components-skills
Comprehensive guide for setting up Syncfusion WinUI components, including license registration, NuGet package installation, system requirements verification, and troubleshooting. Use this skill when users need help with Syncfusion licensing, installation, WinUI component configuration, theme setup, or resolving installation errors.
syncfusion-winui-datagrid
syncfusion/winui-ui-components-skills
Guide for implementing Syncfusion WinUI DataGrid (SfDataGrid) for tabular data display in desktop applications. Use this skill when working with data grids, sorting, filtering, grouping, or CRUD operations. Covers data binding, column configuration, master-details views, Excel export, and performance optimization including data virtualization and custom templates.
syncfusion-winui-badge
syncfusion/winui-ui-components-skills
Guide implementation of the Syncfusion WinUI Badge control (SfBadge) for displaying notification badges and status indicators. Use this skill when working with badge notifications, unread count badges, BadgeContainer, or notification overlays in WinUI applications. Covers shapes, colors, positioning, alignment, animations, and customization patterns.
syncfusion-winui-treeview
syncfusion/winui-ui-components-skills
Comprehensive guide for implementing Syncfusion WinUI TreeView (SfTreeView) control in desktop applications. Use this skill when working with hierarchical data display, tree structures, or node-based navigation. Covers TreeView implementation for file explorers, organization charts, category browsers, and expandable/collapsible data visualization in WinUI applications.
syncfusion-winui-numberbox
syncfusion/winui-ui-components-skills
Learn to implement Syncfusion WinUI NumberBox (SfNumberBox) control for numeric input with validation, custom formatting, and value restrictions. Use this skill when you need numeric input fields with currency, percentage, or decimal formatting in WinUI applications.
syncfusion-winui-treegrid
syncfusion/winui-ui-components-skills
Guide for implementing Syncfusion WinUI TreeGrid (SfTreeGrid) components for displaying hierarchical or self-relational data. Use this skill when working with tree-structured grids, parent-child data relationships, or expandable grid rows. Covers TreeGrid features for organizational charts, file system displays, and multi-level data representation in WinUI applications.
Popular frontend & design skills
setup-matt-pocock-skills
mattpocock/skills
Configure this repo for the engineering skills: set up its issue tracker, triage label vocabulary, and domain doc layout. Run once before first use of the other engineering skills.
frontend-design
anthropics/skills
Guidance for distinctive, intentional visual design when building new UI or reshaping an existing one. Helps with aesthetic direction, typography, and making choices that don't read as templated defaults.
hyperframes-animation
heygen-com/hyperframes
All animation knowledge for HyperFrames — atomic motion rules, multi-phase scene blueprints, scene transitions, broader motion-design techniques, AND the seven runtime adapters (GSAP default, plus Lottie, Three.js, Anime.js, CSS keyframes, Web Animations API, TypeGPU). Use for any motion or animation task: pick 2-4 rules and compose, or load a blueprint, or look up runtime-specific API (e.g. GSAP eases / Lottie player / Three.js mixer). Also covers auditing an existing composition's choreography (animation map) and 24 named text-animation effects. HyperFrames-native: single paused timeline, seek-safe, deterministic.
prototype
mattpocock/skills
Build a throwaway prototype to answer a design question. Use when the user wants to sanity-check whether a state model or logic feels right, or explore what a UI should look like.
hyperframes-core
heygen-com/hyperframes
The HyperFrames composition contract — build one renderable project. Use for composition structure, the data- timing attributes, class="clip", tracks, sub-compositions, variables, framework-owned media playback, deterministic-render rules, and validation. Read before writing composition HTML.
vercel-react-best-practices
vercel-labs/agent-skills
React and Next.js performance optimization guidelines from Vercel Engineering. This skill should be used when writing, reviewing, or refactoring React/Next.js code to ensure optimal performance patterns. Triggers on tasks involving React components, Next.js pages, data fetching, bundle optimization, or performance improvements.