syncfusion-maui-pull-to-refresh
Implementing .NET MAUI PullToRefresh (SfPullToRefresh)
The Syncfusion .NET MAUI PullToRefresh control enables interactive content refreshing through pull-down gestures. It displays a progress indicator during the pull action and triggers content updates when the user releases after pulling beyond a threshold distance.
When to Use This Skill
Use this skill when you need to:
- Implement pull-to-refresh functionality in .NET MAUI applications for refreshing content on demand
- Add interactive refresh controls to scrollable views like ListView, DataGrid, or custom layouts
- Display refresh indicators with progress animations during pull-to-refresh actions
- Customize refresh appearance including colors, sizes, transition modes, and thresholds
- Create custom refresh templates with progress bars or animated views
- Integrate MVVM patterns with refresh commands and data binding
- Handle refresh events for controlling pulling, refreshing, and completion actions
- Host complex views within pullable content areas with proper refresh behavior
Component Overview
- Interactive pull-to-refresh gesture recognition
- Two transition modes: SlideOnTop and Push
- Customizable progress indicator appearance
- Support for hosting any .NET MAUI view as pullable content
- MVVM-compatible with RefreshCommand and data binding
- Custom templates for pulling and refreshing views
- Built-in events for fine-grained refresh control
- Programmatic refresh initiation and completion
Documentation and Navigation Guide
Getting Started
📄 Read: references/getting-started.md
When to read: First-time setup, installation, basic implementation
- Installing Syncfusion.Maui.PullToRefresh NuGet package
- Registering Syncfusion handler (ConfigureSyncfusionCore)
- Creating basic SfPullToRefresh instance
- Defining PullableContent
- Handling IsRefreshing property
- Running your first pull-to-refresh application
Pullable Content
📄 Read: references/pullable-content.md
When to read: Configuring content that responds to pull gestures
- Understanding PullableContent property
- Hosting .NET MAUI DataGrid in PullToRefresh
- Hosting .NET MAUI ListView in PullToRefresh
- Loading custom views and layouts
- Best practices for pullable content configuration
- Handling content refresh with different views
Customization and Properties
📄 Read: references/customization.md
When to read: Customizing appearance, behavior, thresholds, and transition modes
- TransitionMode: SlideOnTop vs Push animations
- PullingThreshold and RefreshViewThreshold configuration
- IsRefreshing property for refresh state control
- Progress indicator customization (color, thickness, size)
- RefreshViewWidth and RefreshViewHeight properties
- ProgressBackground, ProgressColor, ProgressThickness
- Programmatic methods: StartRefreshing() and EndRefreshing()
- Size and layout considerations
Custom Templates
📄 Read: references/templates.md
When to read: Creating custom pulling and refreshing views
- PullingViewTemplate property
- RefreshingViewTemplate property
- Using SfCircularProgressBar in templates
- Creating DataTemplate for custom progress indicators
- Integrating templates with Pulling event
- Animating refresh views
- Template customization examples
MVVM and Commands
📄 Read: references/mvvm-commands.md
When to read: Implementing MVVM pattern with PullToRefresh
- MVVM compatibility overview
- Binding IsRefreshing to ViewModel properties
- Using RefreshCommand and RefreshCommandParameter
- CanExecute() method for controlling refresh actions
- INotifyPropertyChanged implementation
- Complete ViewModel examples
- Canceling pull actions from ViewModel
Events
📄 Read: references/events.md
When to read: Handling pull-to-refresh lifecycle events
- Pulling event with PullingEventArgs
- Refreshing event on pointer release
- Refreshed event on completion
- Cancel property for preventing refresh
- Progress property for tracking pull distance
- Event handling patterns and examples