maui-403988-xamarin.md
.NET MAUI is an evolution of the Xamarin.Forms platform. Most DevExpress components for Xamarin.Forms have counterparts in .NET MAUI. If your Xamarin.Forms application is based on DevExpress components, you can follow the steps in this article to create a similar .NET MAUI application.
To migrate from the DevExpress Xamarin.Forms Controls to DevExpress .NET MAUI Controls, follow the steps below:
View Example: Migrate a DevExpress Xamarin.Forms Application to .NET MAUI
See the following Microsoft topics for more information: Migrate your app from Xamarin.Forms and Xamarin.Forms Support Policy.
Refer to the following Microsoft topic for information on how to create a .NET MAUI project: Migrating from Xamarin.Forms - Create a New Project.
The following table lists DevExpress Xamarin.Forms NuGet packages and their equivalents in DevExpress .NET MAUI:
| DevExpress Xamarin.Forms Controls NuGet Package | DevExpress .NET MAUI Controls NuGet Package |
|---|---|
DevExpress.XamarinForms.Charts | DevExpress.Maui.Charts |
DevExpress.XamarinForms.CollectionView | DevExpress.Maui.CollectionView |
DevExpress.XamarinForms.Editors | DevExpress.Maui.Editors |
DevExpress.XamarinForms.Grid | DevExpress.Maui.DataGrid |
DevExpress.XamarinForms.Navigation | DevExpress.Maui.Controls |
DevExpress.XamarinForms.Scheduler | DevExpress.Maui.Scheduler |
Refer to the following Microsoft topic for information on how to update framework namespaces: Migrating from Xamarin.Forms - Source Code Updates.
The following table lists DevExpress Xamarin.Forms XAML namespaces and their equivalents in DevExpress .NET MAUI:
| DevExpress Xamarin.Forms Controls Namespace | DevExpress .NET MAUI Controls Namespace |
|---|---|
http://schemas.devexpress.com/xamarin/2014/forms/charts | clr-namespace:DevExpress.Maui.Charts;assembly=DevExpress.Maui.Charts |
http://schemas.devexpress.com/xamarin/2014/forms/collectionview | clr-namespace:DevExpress.Maui.CollectionView;assembly=DevExpress.Maui.CollectionView |
http://schemas.devexpress.com/xamarin/2014/forms/editors | clr-namespace:DevExpress.Maui.Editors;assembly=DevExpress.Maui.Editors |
http://schemas.devexpress.com/xamarin/2014/forms/datagrid | clr-namespace:DevExpress.Maui.DataGrid;assembly=DevExpress.Maui.DataGrid |
http://schemas.devexpress.com/xamarin/2014/forms/navigation | clr-namespace:DevExpress.Maui.Controls;assembly=DevExpress.Maui.Controls |
http://schemas.devexpress.com/xamarin/2014/forms/scheduler | clr-namespace:DevExpress.Maui.Scheduler;assembly=DevExpress.Maui.Scheduler |
The following table lists DevExpress Xamarin.Forms namespaces and their equivalents in DevExpress .NET MAUI:
| DevExpress Xamarin.Forms Controls Namespace | DevExpress .NET MAUI Controls Namespace |
|---|---|
DevExpress.XamarinForms.Charts | DevExpress.Maui.Charts |
DevExpress.XamarinForms.CollectionView | DevExpress.Maui.CollectionView |
DevExpress.XamarinForms.Editors | DevExpress.Maui.Editors |
DevExpress.XamarinForms.Grid | DevExpress.Maui.DataGrid |
DevExpress.XamarinForms.Navigation | DevExpress.Maui.Controls |
DevExpress.XamarinForms.Scheduler | DevExpress.Maui.Scheduler |
If you use DevExpress Xamarin.Forms Controls, your code calls the Initializer.Init() method for each DevExpress namespace you reference in the application:
using System.ComponentModel;
using Xamarin.Forms;
namespace DataGrid_Columns {
public partial class MainPage : ContentPage {
public MainPage() {
DevExpress.XamarinForms.DataGrid.Initializer.Init();
DevExpress.XamarinForms.Charts.Initializer.Init();
// other DevExpress Xamarin.Forms Control Initializers
InitializeComponent();
}
}
}
If you migrate to DevExpress .NET MAUI Controls , replace those method calls with a single call to the UseDevExpress(MauiAppBuilder, Boolean) method. It registers all DevExpress MAUI controls:
using DevExpress.Maui;
namespace DataForm_GettingStarted;
public static class MauiProgram {
public static MauiApp CreateMauiApp() {
var builder = MauiApp.CreateBuilder();
builder
.UseMauiApp<App>()
.UseDevExpress()
.ConfigureFonts(fonts => {
fonts.AddFont("OpenSans-Regular.ttf", "OpenSansRegular");
});
return builder.Build();
}
}
You can also pass true to the UseDevExpress() method as a parameter to localize DevExpress .NET MAUI Controls. Refer to the following topic for more information: Localization.
This section lists DevExpress Xamarin.Forms types that we renamed in DevExpress .NET MAUI. Rename the types in your applications and review related breaking API changes listed in footnotes.
The table below lists types available in the DevExpress.XamarinForms.Navigation namespace and their .NET MAUI counterparts. Note that the types from the DevExpress.XamarinForms.Navigation namespace now belong to the DevExpress.Maui.Controls namespace.
The table below lists types available in the DevExpress.XamarinForms.Popup namespace and their .NET MAUI counterparts.
Note
All types from the DevExpress.XamarinForms.Popup namespace now belong to the DevExpress.Maui.Controls namespace.
The table below lists types available in the DevExpress.XamarinForms.Editors namespace and their .NET MAUI counterparts.
Note
Certain types from the DevExpress.XamarinForms.Editors namespace now belong to the DevExpress.Maui.Controls namespace.
The table below lists types available in the DevExpress.XamarinForms.DataGrid namespace and their .NET MAUI counterparts.
The table below lists types available in the DevExpress.XamarinForms.Charts namespace and their .NET MAUI counterparts.
| Xamarin.Forms Type | .NET MAUI Type |
|---|---|
| ChartBaseView | ChartBaseView[5] |
The table below lists types available in the DevExpress.XamarinForms.Scheduler namespace and their .NET MAUI counterparts.
To migrate your application from the DevExpress Xamarin.Forms Controls to DevExpress .NET MAUI Controls, you need to address the following breaking API changes:
Footnotes
Breaking Change: T1125434 - Controls - API Changes
Breaking Change: T1124204 - Changes on the Appearance Classes
Breaking Change: T1120574 - DataGridView and DXCollectionView - API Changes
Breaking Change: T1125921 - Localization Mechanism Changes
Breaking Change: T1127009 - ChartViewBase.Theme Property Removed
See Also