$npx -y skills add syncfusion/maui-toolkit-ui-components-skills --skill syncfusion-maui-toolkit-pull-to-refreshImplements 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
| 1 | # Implementing .NET MAUI PullToRefresh (SfPullToRefresh) |
| 2 | |
| 3 | 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. |
| 4 | |
| 5 | ## When to Use This Skill |
| 6 | |
| 7 | Use this skill when you need to: |
| 8 | |
| 9 | - **Implement pull-to-refresh functionality** in .NET MAUI applications for refreshing content on demand |
| 10 | - **Add interactive refresh controls** to scrollable views like ListView, DataGrid, or custom layouts |
| 11 | - **Display refresh indicators** with progress animations during pull-to-refresh actions |
| 12 | - **Customize refresh appearance** including colors, sizes, transition modes, and thresholds |
| 13 | - **Create custom refresh templates** with progress bars or animated views |
| 14 | - **Integrate MVVM patterns** with refresh commands and data binding |
| 15 | - **Handle refresh events** for controlling pulling, refreshing, and completion actions |
| 16 | - **Host complex views** within pullable content areas with proper refresh behavior |
| 17 | |
| 18 | ## Component Overview |
| 19 | |
| 20 | - Interactive pull-to-refresh gesture recognition |
| 21 | - Two transition modes: SlideOnTop and Push |
| 22 | - Customizable progress indicator appearance |
| 23 | - Support for hosting any .NET MAUI view as pullable content |
| 24 | - MVVM-compatible with RefreshCommand and data binding |
| 25 | - Custom templates for pulling and refreshing views |
| 26 | - Built-in events for fine-grained refresh control |
| 27 | - Programmatic refresh initiation and completion |
| 28 | |
| 29 | |
| 30 | ## Documentation and Navigation Guide |
| 31 | |
| 32 | ### Getting Started |
| 33 | 📄 **Read:** [references/getting-started.md](references/getting-started.md) |
| 34 | |
| 35 | When to read: First-time setup, installation, basic implementation |
| 36 | - Installing Syncfusion.Maui.Toolkit NuGet package |
| 37 | - Registering Syncfusion handler (ConfigureSyncfusionToolkit) |
| 38 | - Creating basic SfPullToRefresh instance |
| 39 | - Defining PullableContent |
| 40 | - Handling IsRefreshing property |
| 41 | - Running your first pull-to-refresh application |
| 42 | |
| 43 | ### Pullable Content |
| 44 | 📄 **Read:** [references/pullable-content.md](references/pullable-content.md) |
| 45 | |
| 46 | When to read: Configuring content that responds to pull gestures |
| 47 | - Understanding PullableContent property |
| 48 | - Hosting .NET MAUI DataGrid in PullToRefresh |
| 49 | - Hosting .NET MAUI ListView in PullToRefresh |
| 50 | - Loading custom views and layouts |
| 51 | - Best practices for pullable content configuration |
| 52 | - Handling content refresh with different views |
| 53 | |
| 54 | ### Customization and Properties |
| 55 | 📄 **Read:** [references/customization.md](references/customization.md) |
| 56 | |
| 57 | When to read: Customizing appearance, behavior, thresholds, and transition modes |
| 58 | - TransitionMode: SlideOnTop vs Push animations |
| 59 | - PullingThreshold and RefreshViewThreshold configuration |
| 60 | - IsRefreshing property for refresh state control |
| 61 | - Progress indicator customization (color, thickness, size) |
| 62 | - RefreshViewWidth and RefreshViewHeight properties |
| 63 | - ProgressBackground, ProgressColor, ProgressThickness |
| 64 | - Programmatic methods: StartRefreshing() and EndRefreshing() |
| 65 | - Size and layout considerations |
| 66 | |
| 67 | ### Custom Templates |
| 68 | 📄 **Read:** [references/templates.md](references/templates.md) |
| 69 | |
| 70 | When to read: Creating custom pulling and refreshing views |
| 71 | - PullingViewTemplate property |
| 72 | - RefreshingViewTemplate property |
| 73 | - Using SfCircularProgressBar in templates |
| 74 | - Creating DataTemplate for custom progress indicators |
| 75 | - Integrating templates with Pulling event |
| 76 | - Animating refresh views |
| 77 | - Template customization examples |
| 78 | |
| 79 | ### MVVM and Commands |
| 80 | 📄 **Read:** [references/mvvm-commands.md](references/mvvm-commands.md) |
| 81 | |
| 82 | When to read: Implementing MVVM pattern with PullToRefresh |
| 83 | - MVVM compatibility overview |
| 84 | - Binding IsRefreshing to ViewModel properties |
| 85 | - Using RefreshCommand and RefreshCommandParameter |
| 86 | - CanExecute() method for controlling refresh actions |
| 87 | - INotifyPropertyChanged implementation |
| 88 | - Complete ViewModel examples |
| 89 | - Canceling pull actions from ViewModel |
| 90 | |
| 91 | ### Events |
| 92 | 📄 **Read:** [references/events.md](references/events.md) |
| 93 | |
| 94 | When to read: Handling pull-to-refresh lifecycle events |
| 95 | - Pulling event with PullingEventArgs |
| 96 | - Refreshing event on pointer release |
| 97 | - Refreshed event on completion |
| 98 | - Cancel property for preventing refresh |
| 99 | - Progress property for tracking pull distance |
| 100 | - Event handling patterns and examples |