syncfusion-maui-migration

$npx mdskill add syncfusion/maui-ui-components-skills/syncfusion-maui-migration

Migrates Syncfusion Xamarin.Forms components to .NET MAUI.

  • Migrates Syncfusion components from Xamarin.Forms to .NET MAUI.
  • Depends on Syncfusion MAUI NuGet packages and .NET MAUI SDK.
  • Analyzes Xamarin code to identify namespace, API, and property changes.
  • Outputs updated code with correct namespaces, APIs, and handler registrations.

SKILL.md

.github/skills/syncfusion-maui-migrationView on GitHub ↗
---
name: syncfusion-maui-migration
description: Migrates Syncfusion components from Xamarin.Forms to .NET MAUI. Use when migrating Xamarin.Forms applications to .NET MAUI, addressing namespace changes, API renames, property migrations, or breaking changes. Covers SfChart to SfCartesianChart migration, handler registration, NuGet package updates, and enum updates.
metadata:
  author: "Syncfusion Inc"
  version: "34.1.29"
---

# Syncfusion Xamarin.Forms to .NET MAUI Migration

A comprehensive skill for migrating Syncfusion components from Xamarin.Forms to .NET MAUI. This skill provides detailed guidance on API changes, namespace updates, property renames, and migration patterns across all Syncfusion component categories.

## When to Use This Skill

Use this skill when you need to:
- Migrate Syncfusion Xamarin.Forms components to .NET MAUI
- Update namespaces from `Syncfusion.*.XForms` to `Syncfusion.Maui.*`
- Understand API changes between Xamarin and MAUI versions
- Find MAUI equivalents for Xamarin components
- Resolve breaking changes during migration
- Update property names, events, and enums
- Register handlers in MauiProgram.cs
- Update NuGet package references
- Fix compilation errors after upgrading
- Understand which Xamarin components are obsolete

## Migration Overview

Syncfusion actively delivers .NET MAUI controls with minimal breaking changes from Xamarin.Forms. All essential Xamarin.Forms controls and features are fully available in .NET MAUI, enabling a smooth, reliable, and seamless migration experience.

**Key Migration Aspects:**
- **Namespace Pattern**: `Syncfusion.XForms.*` → `Syncfusion.Maui.*`
- **Handler Registration**: Required in `MauiProgram.cs` using `.ConfigureSyncfusionCore()`
- **API Consistency**: Most APIs preserved with some renames for MAUI consistency
- **Package Names**: Updated from `Syncfusion.Xamarin.*` to `Syncfusion.Maui.*`
- **Breaking Changes**: Property renames (e.g., `BackgroundColor` → `Background`), enum updates
- **Obsolete Components**: Some components replaced by native MAUI controls (SfBorder, SfGradientView)

## Documentation and Navigation Guide

### Migration Overview and Component Index
📄 **Read:** [references/migration-overview.md](references/migration-overview.md)
- Complete component mapping table (Xamarin → MAUI)
- Migration roadmap and timeline
- General migration workflow
- Package and namespace changes overview
- Obsolete components and their alternatives
- Version compatibility information

### Charts Migration
📄 **Read:** [references/charts-migration.md](references/charts-migration.md)
- SfCartesianChart (from SfChart)
- SfCircularChart migration
- SfPolarChart migration
- SfFunnelChart migration
- SfPyramidChart migration
- Chart namespace and enum updates
- Series and axis property changes
- Legend and tooltip updates

### Gauges Migration
📄 **Read:** [references/gauges-migration.md](references/gauges-migration.md)
- SfRadialGauge (from SfCircularGauge)
- SfLinearGauge migration
- SfDigitalGauge migration
- Pointer and scale property mappings
- Annotation changes
- Styling updates

### Data Controls Migration
📄 **Read:** [references/data-controls-migration.md](references/data-controls-migration.md)
- SfDataGrid migration (selection, sorting, filtering)
- SfDataForm migration
- SfTreeView migration
- SfTreeMap migration
- Property renames (SelectedItem → SelectedRow)
- Event handler updates
- Enum changes (ColumnSizer → ColumnWidthMode)

### Calendar and Scheduling Controls
📄 **Read:** [references/calendar-scheduling-migration.md](references/calendar-scheduling-migration.md)
- SfCalendar migration (selection changes)
- SfScheduler (from SfSchedule)
- SfDatePicker migration
- SfTimePicker migration
- SfDateTimeRangePicker updates
- SfDateTimeRangeSelector (from SfDateTimeRangeNavigator)
- Appointment management differences

### Input and Picker Controls
📄 **Read:** [references/input-picker-migration.md](references/input-picker-migration.md)
- SfMaskedEntry (from SfMaskedEdit)
- SfComboBox migration
- SfAutocomplete migration
- SfPicker migration
- SfTextInputLayout migration
- Input validation changes
- Dropdown behavior updates

### Navigation and List Controls
📄 **Read:** [references/navigation-list-migration.md](references/navigation-list-migration.md)
- SfListView migration
- SfSegmentedControl migration
- SfAccordion migration
- SfExpander migration
- SfTabView migration
- Selection handling changes
- ItemTemplate updates

### Progress and Visual Indicators
📄 **Read:** [references/progress-visual-migration.md](references/progress-visual-migration.md)
- SfLinearProgressBar migration
- SfCircularProgressBar migration
- SfStepProgressBar migration
- SfShimmer migration
- SfBarcodeGenerator (from SfBarcode)
- Animation and styling updates
- Progress state changes

### Layout and Container Controls
📄 **Read:** [references/layout-container-migration.md](references/layout-container-migration.md)
- SfBackdropPage migration
- SfCards migration
- SfParallaxView migration
- SfPopup (from SfPopUpLayout)
- Layout property changes
- Obsolete controls (SfBorder → Border, SfGradientView → Gradients)

### Interactive and Drawing Controls
📄 **Read:** [references/interactive-drawing-migration.md](references/interactive-drawing-migration.md)
- SfSignaturePad migration
- SfChat migration
- SfSlider migration
- SfRangeSlider migration
- SfRadialMenu migration
- Pull-to-Refresh migration
- Touch and gesture changes

### Maps and Location Services
📄 **Read:** [references/maps-migration.md](references/maps-migration.md)
- SfMaps migration
- Layer configuration changes
- Marker and data binding updates
- Shape file handling
- GeoJSON support changes

### Common Migration Patterns
📄 **Read:** [references/common-migration-patterns.md](references/common-migration-patterns.md)
- Handler registration in MauiProgram.cs
- NuGet package name changes
- Namespace patterns across all controls
- Common property renames
- Color and Brush API changes
- Event argument class updates
- Enum renaming patterns
- Breaking changes by version
- Migration troubleshooting guide

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.