MCPInstall

syncfusion-wpf-datapager

Implements Syncfusion WPF DataPager (SfDataPager) for paginating large datasets in WPF applications. Use this when implementing pagination controls, page navigation, or splitting large data into manageable chunks. Supports configurable page sizes, navigation buttons, numeric page buttons, and works with DataGrid, ListBox, ListView, and ItemsControl.

Installs
155
Last 24h
—
Trending rank
—
Security
Not audited

Install

Works with every agent the skills CLI supports.

npx skills add https://github.com/syncfusion/wpf-ui-components-skills --skill syncfusion-wpf-datapager
  1. 01

    Install

    Run the command in your project. The CLI asks which agents to install for.

  2. 02

    Describe the task

    Ask your agent for something this skill covers. It loads syncfusion-wpf-datapager automatically when relevant.

  3. 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 DataPager

Guide for implementing the Syncfusion WPF DataPager (SfDataPager) to paginate large datasets in WPF applications. The DataPager control provides navigation buttons, numeric page buttons, and flexible data‑binding options for dividing data into manageable pages.

When to Use This Skill

Use this skill when the user needs to:

  • Paginate large datasets in WPF applications
  • Add page navigation controls (first, last, next, previous buttons)
  • Display data in manageable page sizes
  • Implement on-demand paging for large datasets
  • Bind paginated data to any ItemsControl (DataGrid, ListBox, ListView)
  • Customize pagination appearance (colors, display modes, orientation)
  • Handle page change events and validation
  • Create paginated views with numeric page buttons
  • Change page size at runtime
  • Navigate programmatically between pages

Component Overview

SfDataPager is a WPF control that divides data collections into pages and provides navigation UI:

  • Navigation buttons: First, Last, Previous, Next page buttons
  • Numeric buttons: Direct page access (e.g., 1, 2, 3, 4, 5)
  • Auto ellipsis: Shows ellipsis button when page count exceeds numeric button count
  • Flexible binding: Works with any ItemsControl through PagedSource property
  • On-demand paging: Load data dynamically for current page only
  • Events: PageIndexChanging and PageIndexChanged for validation and custom logic
  • Appearance: Customizable colors, display modes, and orientation

Documentation and Navigation Guide

Getting Started

📄 Read: references/getting-started.md

  • Required assemblies (Syncfusion.SfGrid.WPF, Syncfusion.Data.WPF)
  • Control structure and elements
  • Creating first SfDataPager application
  • Integrating with SfDataGrid
  • Adding SfDataPager to toolbox
  • Theme support and theming

Data Binding and Paging

📄 Read: references/data-binding.md

  • Source and PagedSource properties
  • PageIndex property and events
  • Binding to ListBox, ListView, or other ItemsControls
  • On-demand paging with UseOnDemandPaging
  • LoadDynamicItems method for dynamic data loading
  • PageSize configuration
  • Runtime PageSize changes with ComboBox

Appearance and Styling

📄 Read: references/appearance.md

  • AutoEllipsisMode (After, Before, Both, None)
  • AccentBackground and AccentForeground colors
  • NumericButtonStyle customization
  • DisplayMode options (12 different modes)
  • Orientation (Horizontal, Vertical)

Page Navigation

📄 Read: references/page-navigation.md

  • MoveToFirstPage(), MoveToLastPage() methods
  • MoveToNextPage(), MoveToPreviousPage() methods
  • MoveToPage(int pageIndex) for direct navigation
  • PageIndexChanging event for validation
  • Interacting with users before page changes

Styles and Templates

📄 Read: references/styles-templates.md

  • Editing styles in Expression Blend
  • Editing styles in Visual Studio
  • Edit a Copy vs Create Empty options
  • Custom control templates
  • Resource management

Quick Start Example

Basic SfDataPager with SfDataGrid integration:

<Window xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        xmlns:sfgrid="clr-namespace:Syncfusion.UI.Xaml.Grid;assembly=Syncfusion.SfGrid.WPF"
        xmlns:datapager="clr-namespace:Syncfusion.UI.Xaml.Controls.DataPager;assembly=Syncfusion.SfGrid.WPF">
    
    <Window.DataContext>
        <local:ViewModel/>
    </Window.DataContext>
    
    <Grid>
        <Grid.RowDefinitions>
            <RowDefinition Height="*" />
            <RowDefinition Height="Auto" />
        </Grid.RowDefinitions>
        
        <!-- DataGrid displays paginated data -->
        <sfgrid:SfDataGrid AutoGenerateColumns="True"
                           ItemsSource="{Binding ElementName=sfDataPager, Path=PagedSource}"/>
        
        <!-- DataPager provides navigation -->
        <datapager:SfDataPager x:Name="sfDataPager"
                               Grid.Row="1"
                               NumericButtonCount="10"
                               PageSize="10"
                               Source="{Binding OrdersDetails}"/>
    </Grid>
</Window>

Key concepts:

  • Source: Bind to your data collection (e.g., OrdersDetails)
  • PagedSource: Automatically wrapped PagedCollectionView for ItemsControl
  • PageSize: Number of items per page
  • NumericButtonCount: Number of numeric page buttons to display

Common Patterns

Pattern 1: Basic Pagination with DataGrid

<Grid>
    <Grid.RowDefinitions>
        <RowDefinition Height="*"/>
        <RowDefinition Height="Auto"/>
    </Grid.RowDefinitions>
    
    <sfgrid:SfDataGrid ItemsSource="{Binding ElementName=sfDataPager, Path=PagedSource}"/>
    
    <datapager:SfDataPager x:Name="sfDataPager"
                           Grid.Row="1"
                           PageSize="20"
                           Source="{Binding DataCollection}"/>
</Grid>

Pattern 2: Customized Appearance

<datapager:SfDataPager x:Name="sfDataPager"
                       AccentBackground="DodgerBlue"
                       AccentForeground="White"
                       AutoEllipsisMode="Both"
                       NumericButtonCount="5"
                       PageSize="15"
                       Source="{Binding DataCollection}"/>

Pattern 3: Runtime PageSize Change

<Grid>
    <Grid.RowDefinitions>
        <RowDefinition Height="*"/>
        <RowDefinition Height="Auto"/>
    </Grid.RowDefinitions>
    <Grid.ColumnDefinitions>
        <ColumnDefinition Width="*"/>
        <ColumnDefinition Width="Auto"/>
    </Grid.ColumnDefinitions>
    
    <sfgrid:SfDataGrid ItemsSource="{Binding ElementName=sfDataPager, Path=PagedSource}"/>
    
    <ComboBox Name="pageSizeComboBox"
              Grid.Column="1" Grid.Row="1"
              SelectedIndex="0"
              ItemsSource="{Binding PageSizeOptions}"/>
    
    <datapager:SfDataPager x:Name="sfDataPager"
                           Grid.Row="1"
                           PageSize="{Binding SelectedValue, ElementName=pageSizeComboBox}"
                           Source="{Binding DataCollection}"/>
</Grid>

Pattern 4: On-Demand Paging (Large Datasets)

<datapager:SfDataPager x:Name="sfDataPager"
                       UseOnDemandPaging="True"
                       PageCount="100"
                       PageSize="20"
                       OnDemandLoading="OnDemandDataLoading"/>
private void OnDemandDataLoading(object sender, OnDemandLoadingEventArgs args)
{
    // Load data for current page only
    var pageData = dataSource.Skip(args.StartIndex).Take(args.PageSize);
    sfDataPager.LoadDynamicItems(args.StartIndex, pageData);
}

Pattern 5: Page Change Validation

<datapager:SfDataPager PageIndexChanging="sfDataPager_PageIndexChanging"/>
private void sfDataPager_PageIndexChanging(object sender, PageIndexChangingEventArgs e)
{
    // Validate or prompt user before page change
    if (HasUnsavedChanges())
    {
        var result = MessageBox.Show("Unsaved changes. Continue?", 
                                     "Confirm", 
                                     MessageBoxButton.YesNo);
        if (result == MessageBoxResult.No)
        {
            e.Cancel = true; // Cancel page navigation
        }
    }
}

Key Properties

PropertyTypeDescription
SourceIEnumerableData collection for paging
PagedSourcePagedCollectionViewPaginated data (bind to ItemsSource)
PageSizeintItems per page (default: 0 = all items)
PageIndexintCurrent page index (0-based)
PageCountintTotal number of pages
NumericButtonCountintNumber of numeric buttons to display
AutoEllipsisModeAutoEllipsisModeEllipsis button placement (After, Before, Both, None)
AccentBackgroundBrushBackground color for navigation/selected buttons
AccentForegroundBrushForeground color for selected button
DisplayModePageDisplayModeWhich buttons to show (e.g., FirstLastPreviousNextNumeric)
OrientationOrientationHorizontal or Vertical layout
UseOnDemandPagingboolEnable on-demand data loading

Key Methods

MethodDescription
MoveToFirstPage()Navigate to first page
MoveToLastPage()Navigate to last page
MoveToNextPage()Navigate to next page
MoveToPreviousPage()Navigate to previous page
MoveToPage(int pageIndex)Navigate to specific page
LoadDynamicItems(int startIndex, IEnumerable items)Load data for on-demand paging

Key Events

EventDescription
PageIndexChangingBefore page changes (cancelable)
PageIndexChangedAfter page changes

Implementation Workflow

When user requests DataPager implementation:

  1. Assess requirements: Determine data size, page size needs, appearance preferences
  2. Choose paging mode:
    • Normal paging (small to medium datasets)
    • On-demand paging (large datasets, millions of records)
  3. Add assemblies: Syncfusion.SfGrid.WPF, Syncfusion.Data.WPF (if using with DataGrid)
  4. Set up data binding: Source → PagedSource → ItemsControl.ItemsSource
  5. Configure appearance: PageSize, NumericButtonCount, AccentColors, DisplayMode
  6. Add event handlers (if needed): PageIndexChanging for validation
  7. Test navigation: Verify all navigation buttons work correctly

Common Use Cases

  • Paginated data grids: Display large datasets in DataGrid with page navigation
  • Document viewers: Navigate through document pages
  • Product catalogs: Browse items across multiple pages
  • Search results: Display search results with pagination
  • Report viewers: Navigate multi-page reports
  • Large list displays: Any scenario with 100+ items that need pagination
  • Lazy loading scenarios: Load data as user navigates pages

FAQ

What does the syncfusion-wpf-datapager skill do?

Implements Syncfusion WPF DataPager (SfDataPager) for paginating large datasets in WPF applications. Use this when implementing pagination controls, page navigation, or splitting large data into manageable chunks. Supports configurable page sizes, navigation buttons, numeric page buttons, and works with DataGrid, ListBox, ListView, and ItemsControl.

How do I install syncfusion-wpf-datapager?

Run npx skills add https://github.com/syncfusion/wpf-ui-components-skills --skill syncfusion-wpf-datapager 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-wpf-datapager/ (personal) or .claude/skills/syncfusion-wpf-datapager/ (project).

Which AI agents can use syncfusion-wpf-datapager?

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-wpf-datapager 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-wpf-datapager?

It is published by syncfusion in syncfusion/wpf-ui-components-skills. It has 155 recorded installs.

More from syncfusion/wpf-ui-components-skills

View all →

syncfusion-wpf-theming

syncfusion/wpf-ui-components-skills

Open the skill to read its SKILL.md instructions.

Frontend & Design184 installs

syncfusion-wpf-datagrid

syncfusion/wpf-ui-components-skills

Open the skill to read its SKILL.md instructions.

Frontend & Design176 installs

syncfusion-wpf-carousel

syncfusion/wpf-ui-components-skills

Implements the Syncfusion WPF Carousel for displaying items in rotating or custom path interfaces with navigation support. Use when building image carousels, rotating galleries, or custom-path item displays with templates and data binding.

Frontend & Design164 installs

syncfusion-wpf-combobox

syncfusion/wpf-ui-components-skills

Open the skill to read its SKILL.md instructions.

Frontend & Design163 installs

syncfusion-wpf-button

syncfusion/wpf-ui-components-skills

Implement Syncfusion WPF ButtonAdv controls for configurable button UIs. Use this when adding, configuring, or customizing a Syncfusion WPF ButtonAdv — including labels, icons, size modes, toggle/checkable behavior, MVVM command binding, multiline text, corner radius, IsDefault/IsCancel modes, icon templates, and themes.

Frontend & Design163 installs

syncfusion-wpf-getting-started

syncfusion/wpf-ui-components-skills

Comprehensive guide for setting up and getting started with Syncfusion WPF components in Windows Presentation Foundation applications. Covers installation methods (web installer, NuGet, offline installer), system requirements verification, adding controls to projects, configuring themes and localization, and troubleshooting setup issues. Use this skill when users need help with installing Syncfusion WPF, configuring NuGet packages, upgrading versions, or resolving setup and configuration problems.

Frontend & Design162 installs

Popular frontend & design skills

View category →

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 & Design1.1M installs

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.

OfficialFrontend & Design1M installs

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.

Frontend & Design999.2K installs

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.

Frontend & Design930.5K installs

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.

OfficialFrontend & Design843.1K installs