
syncfusion-maui-toolkit-migration
Migrate from Syncfusion® .NET MAUI to Syncfusion® Toolkit for .NET MAUI. Covers namespace updates, API changes, configuration methods, and step-by-step migration patterns with minimal code modifications for 20+ components.
- Installs
- 43
- Last 24h
- —
- Trending rank
- —
- Security
- Not audited
Install
Works with every agent the skills CLI supports.
npx skills add https://github.com/syncfusion/maui-toolkit-ui-components-skills --skill syncfusion-maui-toolkit-migration- 01
Install
Run the command in your project. The CLI asks which agents to install for.
- 02
Describe the task
Ask your agent for something this skill covers. It loads syncfusion-maui-toolkit-migration automatically when relevant.
- 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.
Migration Guide: Syncfusion® .NET MAUI to Syncfusion® Toolkit for .NET MAUI
The Syncfusion® Toolkit for .NET MAUI represents the next generation of Syncfusion® components for MAUI applications. While most APIs and functionality remain the same, components have been consolidated into a single toolkit with updated namespaces. This guide helps you migrate existing Syncfusion® .NET MAUI projects to the new toolkit with minimal code modifications.
Table of Contents
- Overview
- Documentation and Navigation Guide
- Quick Start Example
- Common Migration Patterns
- Key Migration Principles
Overview
The migration from Syncfusion® .NET MAUI to Syncfusion® Toolkit for .NET MAUI involves three primary changes:
- Namespace Updates - Component namespaces are reorganized under
Syncfusion.Maui.Toolkit.* - Assembly Consolidation - Individual component assemblies consolidated into
Syncfusion.Maui.Toolkit - Configuration Method -
ConfigureSyncfusionCore()renamed toConfigureSyncfusionToolkit()
Good news: Your existing component implementations work nearly identically. The primary effort is updating namespaces and the initialization method.
Documentation and Navigation Guide
Choose your migration path based on where you are in the process:
Getting Started
📄 Read: references/getting-started.md
Start here if you:
- Are new to the migration process
- Need to understand migration scope and benefits
- Want prerequisites and an overview of what changes
- Are planning your migration timeline
Covers:
- Why migrate to the toolkit
- Prerequisites and requirements
- What components are affected
- High-level change summary
Namespace Updates
📄 Read: references/namespace-updates.md
Read this when you need to:
- Update XAML namespace declarations
- Modify C# using statements
- Find exact namespace mappings for specific components
- Understand assembly changes from NuGet packages
- Get search & replace patterns for your IDE
Covers:
- Complete XAML namespace reference (20+ controls)
- Complete C# namespace reference (20+ controls)
- Assembly changes and package structure
- Real-world migration examples with before/after code
- Troubleshooting namespace-related build errors
Configuration Method Migration
📄 Read: references/method-migration.md
Use this when you need to:
- Update your MauiProgram.cs initialization
- Change
ConfigureSyncfusionCore()toConfigureSyncfusionToolkit() - Understand AppHostBuilder configuration
- See code-behind changes
- Review method signature changes
Covers:
- Step-by-step initialization update
- Old vs. new configuration code
- Complete MauiProgram.cs example
- Advanced configuration options
- Troubleshooting initialization issues
Migration Checklist
📄 Read: references/migration-checklist.md
Use this as your:
- Pre-migration verification checklist
- Step-by-step migration process guide
- Post-migration validation checklist
- Troubleshooting reference for common issues
- Performance validation guide
Covers:
- Pre-migration steps and backup procedures
- Component inventory preparation
- Step-by-step numbered migration process
- Build and test verification
- Common issues and solutions with fixes
- Migration completion checklist
Quick Start Example
Here's how a typical XAML migration looks. The component usage itself doesn't change—only the namespace:
Before (Syncfusion® .NET MAUI)
XAML:
<ContentPage xmlns="http://schemas.microsoft.com/dotnet/2021/maui"
xmlns:button="clr-namespace:Syncfusion.Maui.Buttons;assembly=Syncfusion.Maui.Buttons">
<VerticalStackLayout>
<button:SfButton Text="Click Me" Clicked="OnButtonClicked" />
</VerticalStackLayout>
</ContentPage>
C# (MauiProgram.cs):
using Syncfusion.Maui.Core.Hosting;
var builder = MauiApp.CreateBuilder();
builder
.UseMauiApp<App>()
.ConfigureFonts(fonts => fonts.AddFont("OpenSans-Regular.ttf", "OpenSansRegular"))
.ConfigureSyncfusionCore();
return builder.Build();
C# (Code-Behind):
using Syncfusion.Maui.Buttons;
namespace MigrationApp;
public partial class MainPage : ContentPage
{
public MainPage()
{
InitializeComponent();
}
private void OnButtonClicked(object sender, EventArgs e)
{
DisplayAlert("Success", "Button clicked!", "OK");
}
}
After (Syncfusion® Toolkit for .NET MAUI)
XAML:
<ContentPage xmlns="http://schemas.microsoft.com/dotnet/2021/maui"
xmlns:button="clr-namespace:Syncfusion.Maui.Toolkit.Buttons;assembly=Syncfusion.Maui.Toolkit">
<VerticalStackLayout>
<button:SfButton Text="Click Me" Clicked="OnButtonClicked" />
</VerticalStackLayout>
</ContentPage>
C# (MauiProgram.cs):
using Syncfusion.Maui.Toolkit.Hosting;
var builder = MauiApp.CreateBuilder();
builder
.UseMauiApp<App>()
.ConfigureFonts(fonts => fonts.AddFont("OpenSans-Regular.ttf", "OpenSansRegular"))
.ConfigureSyncfusionToolkit();
return builder.Build();
C# (Code-Behind):
using Syncfusion.Maui.Toolkit.Buttons;
namespace MigrationApp;
public partial class MainPage : ContentPage
{
public MainPage()
{
InitializeComponent();
}
private void OnButtonClicked(object sender, EventArgs e)
{
DisplayAlert("Success", "Button clicked!", "OK");
}
}
Summary of Changes:
- ✅ XAML namespace:
Syncfusion.Maui.Buttons→Syncfusion.Maui.Toolkit.Buttons - ✅ XAML assembly:
Syncfusion.Maui.Buttons→Syncfusion.Maui.Toolkit - ✅ C# using:
Syncfusion.Maui.Buttons→Syncfusion.Maui.Toolkit.Buttons - ✅ Configuration:
ConfigureSyncfusionCore()→ConfigureSyncfusionToolkit() - ✅ MauiProgram.cs using:
Syncfusion.Maui.Core.Hosting→Syncfusion.Maui.Toolkit.Hosting - ✅ Component usage: No changes -
SfButtonbehavior is identical
Common Migration Patterns
Pattern 1: Multiple Components in One Page
When your page uses multiple Syncfusion® components, update all namespace declarations:
Before:
<ContentPage xmlns="http://schemas.microsoft.com/dotnet/2021/maui"
xmlns:button="clr-namespace:Syncfusion.Maui.Buttons;assembly=Syncfusion.Maui.Buttons"
xmlns:calendar="clr-namespace:Syncfusion.Maui.Calendar;assembly=Syncfusion.Maui.Calendar"
xmlns:cards="clr-namespace:Syncfusion.Maui.Cards;assembly=Syncfusion.Maui.Cards">
After:
<ContentPage xmlns="http://schemas.microsoft.com/dotnet/2021/maui"
xmlns:button="clr-namespace:Syncfusion.Maui.Toolkit.Buttons;assembly=Syncfusion.Maui.Toolkit"
xmlns:calendar="clr-namespace:Syncfusion.Maui.Toolkit.Calendar;assembly=Syncfusion.Maui.Toolkit"
xmlns:cards="clr-namespace:Syncfusion.Maui.Toolkit.Cards;assembly=Syncfusion.Maui.Toolkit">
Pattern 2: Code-Behind Multi-Component Usage
When using components in code-behind, update all using statements:
Before:
using Syncfusion.Maui.Buttons;
using Syncfusion.Maui.Calendar;
using Syncfusion.Maui.Cards;
namespace MyApp;
public partial class ComplexPage : ContentPage
{
public ComplexPage()
{
InitializeComponent();
var button = new SfButton { Text = "Dynamic" };
var calendar = new SfCalendar();
}
}
After:
using Syncfusion.Maui.Toolkit.Buttons;
using Syncfusion.Maui.Toolkit.Calendar;
using Syncfusion.Maui.Toolkit.Cards;
namespace MyApp;
public partial class ComplexPage : ContentPage
{
public ComplexPage()
{
InitializeComponent();
var button = new SfButton { Text = "Dynamic" };
var calendar = new SfCalendar();
}
}
Pattern 3: Conditional Component Usage
When using components conditionally or in view models, ensure all namespace declarations are updated:
Before:
using Syncfusion.Maui.Buttons;
namespace MyApp.ViewModels;
public class ButtonViewModel
{
public SfButton CreateButton()
{
return new SfButton
{
Text = "Action",
BackgroundColor = Colors.Blue
};
}
}
After:
using Syncfusion.Maui.Toolkit.Buttons;
namespace MyApp.ViewModels;
public class ButtonViewModel
{
public SfButton CreateButton()
{
return new SfButton
{
Text = "Action",
BackgroundColor = Colors.Blue
};
}
}
Key Migration Principles
1. Namespace-Based Migration
All changes center around namespaces. Component APIs, properties, and event signatures remain virtually identical.
2. Single Assembly Consolidation
Instead of installing individual component packages (Syncfusion.Maui.Buttons, Syncfusion.Maui.Calendar, etc.), you install the single Syncfusion.Maui.Toolkit NuGet package.
3. Minimal Code Changes
Existing code logic and implementation patterns require no changes. Only namespace declarations and assembly references are updated.
4. One-Time Initialization Update
Update MauiProgram.cs once at application startup. All components then use the new toolkit automatically.
5. Complete Backward Compatibility
Component functionality, properties, events, and behaviors are fully preserved. No feature changes required.
Getting Help & Resources
- Step-by-Step Guide: Start with references/migration-checklist.md for numbered steps
- Namespace Reference: Use references/namespace-updates.md for component lookups
- Troubleshooting: Check references/migration-checklist.md for common problems
- Configuration Help: See references/method-migration.md for initialization details
Next Steps:
- Read references/getting-started.md for prerequisites
- Use references/namespace-updates.md to identify all components in your project
- Follow references/migration-checklist.md for step-by-step migration
- Reference references/method-migration.md for MauiProgram.cs update
- Test your application thoroughly post-migration
Good luck with your migration! The process is straightforward, and most developers complete it in 30-60 minutes depending on project size.
FAQ
What does the syncfusion-maui-toolkit-migration skill do?
Migrate from Syncfusion® .NET MAUI to Syncfusion® Toolkit for .NET MAUI. Covers namespace updates, API changes, configuration methods, and step-by-step migration patterns with minimal code modifications for 20+ components.
How do I install syncfusion-maui-toolkit-migration?
Run npx skills add https://github.com/syncfusion/maui-toolkit-ui-components-skills --skill syncfusion-maui-toolkit-migration 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-maui-toolkit-migration/ (personal) or .claude/skills/syncfusion-maui-toolkit-migration/ (project).
Which AI agents can use syncfusion-maui-toolkit-migration?
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-maui-toolkit-migration 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-maui-toolkit-migration?
It is published by syncfusion in syncfusion/maui-toolkit-ui-components-skills. It has 43 recorded installs.
More from syncfusion/maui-toolkit-ui-components-skills
syncfusion-maui-toolkit-pull-to-refresh
syncfusion/maui-toolkit-ui-components-skills
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.
syncfusion-maui-toolkit-popup
syncfusion/maui-toolkit-ui-components-skills
Open the skill to read its SKILL.md instructions.
syncfusion-maui-toolkit-otp-input
syncfusion/maui-toolkit-ui-components-skills
Open the skill to read its SKILL.md instructions.
syncfusion-maui-toolkit-expander
syncfusion/maui-toolkit-ui-components-skills
Open the skill to read its SKILL.md instructions.
syncfusion-maui-toolkit-cards
syncfusion/maui-toolkit-ui-components-skills
Open the skill to read its SKILL.md instructions.
syncfusion-maui-toolkit-bottom-sheet
syncfusion/maui-toolkit-ui-components-skills
Open the skill to read its SKILL.md instructions.
Popular code quality & workflow skills
grill-me
mattpocock/skills
A relentless interview to sharpen a plan or design.
improve-codebase-architecture
mattpocock/skills
Scan a codebase for deepening opportunities, present them as a visual HTML report, then grill through whichever one you pick.
handoff
mattpocock/skills
Compact the current conversation into a handoff document for another agent to pick up.
domain-modeling
mattpocock/skills
Build and sharpen a project's domain model. Use when discussing codebase terminology, writing or editing a GLOSSARY.md, or recording or editing an ADR.
codebase-design
mattpocock/skills
Shared vocabulary for designing deep modules. Use when the user wants to design or improve a module's interface, find deepening opportunities, decide where a seam goes, make code more testable or AI-navigable, or when another skill needs the deep-module vocabulary.
diagnosing-bugs
mattpocock/skills
Diagnosis loop for hard bugs and performance regressions. Use when the user says "diagnose"/"debug this", or reports something broken/throwing/failing/slow.