- DevExpress UI for WPF and Telerik UI for WPF are WPF only; no cross-platform binary exists for Uno Platform
- Uno Platform implements a wide WinUI control surface across Windows, Web, mobile, and Linux
- The Windows Community Toolkit DataGrid is the default cross-platform replacement for vendor grids
- The Uno Toolkit covers Card, Chip, TabBar, NavigationBar, and DrawerControl categories
- Syncfusion .NET MAUI controls remain available through .NET MAUI Embedding for advanced scenarios
Who this is for: WPF teams that depend on DevExpress or Telerik control suites and want to ship a single codebase across Windows, Web, mobile, and Linux with Uno Platform.
Why DevExpress and Telerik WPF Do Not Move Cross-Platform
DevExpress UI for WPF and Telerik UI for WPF are compiled against the WPF rendering stack on Windows. Their binaries reference WPF assemblies, WPF dependency properties, and Win32 interop. None of that runs on Web, Android, iOS, macOS, or Linux. Vendors offer separate suites for other frameworks, but those are different products with different APIs and licenses.
Uno Platform takes a different approach. It implements the WinUI control set across all major targets, so any control your app uses must come from a library that runs on every target you care about.
The decision becomes binary. Either you replace each vendor control with a cross-platform equivalent, or you keep a paid suite that already supports your target list. Most teams replace, then add a paid library only for the few controls that need advanced features.
1 Inventory Every Third-Party WPF Control
Run a real inventory before you write any replacement code. Three commands give you everything you need.
# 1. List every NuGet reference in the WPF solution
dotnet list package --include-transitive > packages.txt
# 2. Find DevExpress and Telerik XAML namespaces
grep -rEn "xmlns:(dx|dxg|dxe|telerik)=" ./src --include="*.xaml" > xaml-usage.txt
# 3. Find code-behind references to vendor types
grep -rEn "DevExpress\.|Telerik\." ./src --include="*.cs" > code-usage.txtGroup the output by control category: grids, navigation, layout, charts, scheduling, reporting. Each group becomes one row in the mapping table you build in Step 2. Categorize before you research replacements; otherwise you spend time on controls that one team uses once and could remove entirely.
2 Map Controls to Uno Platform Replacements
The mapping table below covers the most common DevExpress and Telerik WPF categories. It uses a layered stack: built-in WinUI controls first, then the Windows Community Toolkit, then the Uno Toolkit, then a paid third party only when nothing free covers the requirement.
| Vendor Control | Category | Uno Platform Replacement | Notes |
|---|---|---|---|
| GridControl, RadGridView | DataGrid | CommunityToolkit DataGrid | Free, cross-platform, sorting, grouping, column types |
| PropertyGrid, RadPropertyGrid | Object editor | Custom ItemsRepeater + typed editors | No drop-in equivalent; build per ViewModel |
| SchedulerControl, RadScheduleView | Scheduler | Syncfusion via MAUI Embedding, or custom CalendarView | Advanced recurrence needs a paid library |
| PivotGridControl, RadPivotGrid | Pivot table | Syncfusion PivotGrid via MAUI Embedding | No free equivalent in WinUI or Uno Toolkit |
| ChartControl, RadChartView | Charts | LightningChart for Uno, or LiveCharts | Both confirmed in Uno Platform recipe books |
| DockLayoutManager, RadDocking | Docking | Uno Toolkit TabBar + DrawerControl, NavigationView | Full floating panes need custom work |
| XtraReports, Telerik Reporting | Reporting | Server-side render to PDF, or Syncfusion Reports | No direct cross-platform port of vendor designers |
The Uno Toolkit controls cover AutoLayout, Card, CardContentControl, Chip, TabBar, NavigationBar, and DrawerControl. Most DevExpress and Telerik navigation, dock, and card patterns fold into these.
3 Replace a DevExpress or Telerik DataGrid
Here is the WPF source you might be replacing:
<!-- WPF, DevExpress -->
<Window xmlns:dxg="http://schemas.devexpress.com/winfx/2008/xaml/grid">
<dxg:GridControl ItemsSource="{Binding Customers}">
<dxg:GridControl.Columns>
<dxg:GridColumn FieldName="Name" />
<dxg:GridColumn FieldName="City" />
<dxg:GridColumn FieldName="Revenue" />
</dxg:GridControl.Columns>
<dxg:GridControl.View>
<dxg:TableView AllowSorting="True" />
</dxg:GridControl.View>
</dxg:GridControl>
</Window>And here is the Uno Platform replacement using the Windows Community Toolkit DataGrid. This XAML compiles for WinUI on Windows, WebAssembly, Skia on Linux and macOS, Android, and iOS from a single project.
<!-- Uno Platform, Windows Community Toolkit DataGrid -->
<Page xmlns:controls="using:CommunityToolkit.WinUI.UI.Controls">
<controls:DataGrid x:Name="CustomersGrid"
ItemsSource="{x:Bind ViewModel.Customers, Mode=OneWay}"
AutoGenerateColumns="False"
CanUserSortColumns="True"
GridLinesVisibility="Horizontal">
<controls:DataGrid.Columns>
<controls:DataGridTextColumn Header="Name" Binding="{Binding Name}" />
<controls:DataGridTextColumn Header="City" Binding="{Binding City}" />
<controls:DataGridTextColumn Header="Revenue" Binding="{Binding Revenue}" />
</controls:DataGrid.Columns>
</controls:DataGrid>
</Page>public sealed record Customer(string Name, string City, decimal Revenue);The cross-platform DataGrid covers sorting, grouping, frozen columns, and typed column kinds. Swap x:Bind for {Binding} only if your ViewModel does not expose typed properties.
Licensing, Bundle Size, and Theming
The free stack (built-in WinUI controls, Windows Community Toolkit, Uno Toolkit) ships under permissive licenses and does not add vendor support contracts to your bill. A paid stack (Syncfusion or LightningChart) keeps the support relationship but introduces per-developer licensing again. Pick once at the program level instead of letting each team make its own choice.
Bundle size moves with the control set. Vendor suites in WPF often pull tens of megabytes of assemblies you never use. The Windows Community Toolkit DataGrid is one focused package, and the Uno Toolkit ships granular packages so you only reference what you display. Trim before you measure WebAssembly bundle size.
Theming is the third axis. DevExpress and Telerik ship their own theme systems that do not exist outside WPF. Inside Uno Platform you align on Material or Fluent through the Uno Themes library, or use lightweight styling in the Uno Toolkit. Plan a theming pass alongside the control replacement, not after.
When Keeping a Paid Suite Still Makes Sense
The free stack does not cover everything. These pitfalls show up most often when teams try to replace a vendor suite line for line.
- Server-side virtualized grids: DevExpress GridControl streams millions of rows with frozen headers and grouping. The WCT DataGrid handles client-side virtualization well; for server-side scenarios you build paging into your ViewModel or move to a paid grid.
- Scheduler with recurrence and time zones: Telerik RadScheduleView and DevExpress SchedulerControl ship a complete recurrence editor. Plan on Syncfusion or a custom calendar.
- PivotGrid with OLAP: There is no free WinUI pivot. Use Syncfusion PivotGrid via .NET MAUI Embedding.
- Reporting designers: XtraReports and Telerik Reporting do not have a cross-platform port. Render reports server side and display PDFs.
When these gaps matter, you can host Syncfusion controls via .NET MAUI Embedding inside your Uno Platform app. That keeps the rest of your stack on the free baseline.
FAQ
Can I use DevExpress UI for WPF with Uno Platform?
No. DevExpress UI for WPF binaries depend on the WPF rendering stack and only run on Windows desktop WPF. DevExpress does not ship a cross-platform target for Uno Platform. Replace the controls with the Windows Community Toolkit DataGrid, the Uno Toolkit, and built-in WinUI controls.
Does Uno Platform have a DataGrid?
Yes. Uno Platform supports the Windows Community Toolkit DataGrid across every target, including WebAssembly.
What replaces Telerik RadGridView for cross-platform?
For most LOB cases, the Windows Community Toolkit DataGrid replaces RadGridView one to one. For advanced grouping, hierarchical grids, or server-side virtualization, host Syncfusion controls via .NET MAUI Embedding inside your Uno Platform project.
Should I replace third-party controls before or after migrating to Uno Platform?
Inventory first, replace in place during the migration. Rewriting twice (first inside WPF, then again inside Uno Platform) doubles the work and risks shipping a half-migrated UI. Build the mapping table early and apply each replacement against the target stack.
Next Steps
Start with the inventory. Run the three commands in Step 1, fill in the mapping table for your specific controls, and pick the smallest screen in the app to migrate first. The Windows Community Toolkit DataGrid covers the largest single category of vendor controls, so a grid-heavy screen is a good candidate. For everything else, the Uno Toolkit and built-in WinUI controls cover the layout, navigation, and input categories without any paid dependency.
- WinUI Control Coverage in Uno Platform →
- Migration Third-Party Dependencies Checklist →
- WCT DataGrid Example →
- Uno Toolkit Controls Reference →
- Uno Platform Third-Party Support FAQ →
- Syncfusion via .NET MAUI Embedding →
- Uno Material Getting Started →
- Lightweight Styling in Uno Toolkit →
- Uno Platform Studio →
Subscribe to Our Blog
Subscribe via RSS
Back to Top