# Syncfusion Maui Pull To Refresh

> Implements the Syncfusion .NET MAUI PullToRefresh (SfPullToRefresh) control for interactive content refreshing. Use when working with pull-to-refresh, refresh controls, swipe to refresh, or updating content on pull gestures. Covers scenarios for refreshing ListView, DataGrid, or any scrollable content, customizing refresh indicators, MVVM refresh patterns, and pull-to-refresh events.

- Skill: `gabrielmoreira/syncfusion-maui-pull-to-refresh` (Agent Skill, multi-file: 7 files)
- Install (CLI): `npx skillmds@latest add gabrielmoreira/syncfusion-maui-pull-to-refresh`
- Raw SKILL.md: https://api.skillmd.com/api/skills/gabrielmoreira/syncfusion-maui-pull-to-refresh/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: gabrielmoreira (https://skillmd.com/u/gabrielmoreira)
- Updated: 2026-09-09
- Page: https://skillmd.com/skills/gabrielmoreira/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](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](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](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](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](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](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


