syncfusion-maui-pull-to-refresh

$npx mdskill add syncfusion/maui-ui-components-skills/syncfusion-maui-pull-to-refresh

Adds pull-to-refresh with Syncfusion SfPullToRefresh for .NET MAUI apps.

  • Enables interactive content refreshing via pull-down gestures in scrollable views.
  • Depends on Syncfusion .NET MAUI SfPullToRefresh control and NuGet package.
  • Uses pull threshold, transition modes, and refresh events to trigger content updates.
  • Delivers customizable refresh indicators and MVVM-compatible refresh commands.

SKILL.md

.github/skills/syncfusion-maui-pull-to-refreshView on GitHub ↗
---
name: syncfusion-maui-pull-to-refresh
description: 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.
metadata:
  author: "Syncfusion Inc"
  version: "34.1.29"
---

# 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

More from syncfusion/maui-ui-components-skills

SkillDescription
syncfusion-maui-accordionImplements Syncfusion .NET MAUI Accordion (SfAccordion) - a vertically collapsible panel with stacked headers for expanding/collapsing content. Use when working with accordions, collapsible panels, expandable lists, employee lists with details, or FAQ sections in .NET MAUI applications. Covers AccordionItem configuration, expand modes, and grouped content display.
syncfusion-maui-ai-assistviewImplements Syncfusion .NET MAUI AI AssistView (SfAIAssistView) for AI-powered interactive chat interfaces. Use when working with AI chat interfaces, AI AssistView, SfAIAssistView, conversational UI, or chat with AI responses. Covers integrating AI services, creating chat UIs, implementing conversation flows, managing AI requests/responses, and displaying AI suggestions.
syncfusion-maui-autocompleteImplements and configure Syncfusion .NET MAUI Autocomplete (SfAutocomplete) control for intelligent text input with suggestions. Use when implementing autocomplete, autosuggest, type-ahead search, smart search, or filtered dropdowns in .NET MAUI applications. Covers data binding, filtering modes, custom search logic, AI-powered search, multi-selection with tokens, and UI customization.
syncfusion-maui-avatar-viewImplements Syncfusion .NET MAUI Avatar View (SfAvatarView) for displaying user profile pictures, initials, or group avatars. Use when working with avatar views, profile pictures, user images, initials display, profile icons, or contact images. Ideal for implementing user profile displays, contact lists, chat interfaces, or social feeds.
syncfusion-maui-backdropImplements Syncfusion .NET MAUI Backdrop Page (SfBackdropPage) with back layer and front layer surfaces. Use when working with backdrop pages, SfBackdropPage, back layer, front layer, or reveal/conceal animations. Covers backdrop navigation patterns, header icons, corner shapes, reveal height, layer state events, and liquid glass effect.
syncfusion-maui-badge-viewImplements Syncfusion .NET MAUI Badge View (SfBadgeView) control. Use when adding badge notifications, status indicators, unread counts, or notification overlays to MAUI applications. Covers SfBadgeView setup, badge text customization, position adjustments, animations, predefined symbols, and accessibility features.
syncfusion-maui-barcode-generatorImplements Syncfusion .NET MAUI Barcode Generator (SfBarcodeGenerator) for generating machine-readable barcodes. Use when working with barcodes, barcode generation, QR codes, data matrix, EAN codes, UPC codes, Code128, or Code39. This skill covers both one-dimensional (linear) and two-dimensional (matrix) barcode symbologies with extensive customization options.
syncfusion-maui-busy-indicatorImplements Syncfusion .NET MAUI Busy Indicator (SfBusyIndicator) for showing loading states, data processing, and app activity indicators. Use when displaying loading indicators, busy animations, activity spinners, or processing feedback in .NET MAUI apps. Covers busy indicator setup, animations, and visual feedback during long-running operations.
syncfusion-maui-buttonImplements and customize Syncfusion .NET MAUI Button (SfButton) control. Use when working with MAUI buttons, SfButton implementation, button customization, or visual states. Covers button icons, background images, RTL support, Liquid Glass effects, custom button views, button styling, events, and checkable buttons.
syncfusion-maui-calendarImplements and customize Syncfusion .NET MAUI Calendar (SfCalendar) control. Use when implementing calendar functionality, date selection (single, multiple, range), or calendar views (month, year, decade, century). Covers date restrictions (min/max dates, EnablePastDates, SelectableDayPredicate), calendar customization, events (ViewChanged, SelectionChanged, Tapped), and header/footer customization.