DevExpress Controls for WinUI 3 Preview are Now Available

WPF Team Blog
11 June 2020

At Microsoft Build 2020 the WinUI team released its first public preview of WinUI 3. In addition to fixes and enhancements for UWP-powered apps, this preview introduces support for managed desktop C#/.NET and native C++/Win32 desktop apps. Today, we are excited to announce that the entire suite of DevExpress UWP controls is available for WinUI 3 as well.

What is WinUI?

WinUI is a framework that contains controls and tools for building modern Windows apps that incorporate the principles of Fluent Design.

The current production-ready version of WinUI is WinUI 2. This library contains controls and utilities for UWP apps, such as a Tree View, toolbars, and the Acrylic brush.

WinUI 3 – under current development - expands WinUI into a standalone framework. It takes the entire UI component toolset for the native Windows UI layer and ships them separately from Windows updates via NuGet. This allows developers to fully utilize WinUI features in any UWP or Win32 app that targets Windows 10 1803 (Oct 2018 update) and above.

Source: Developer platform updates at Microsoft Ignite 2019

Since the first preview of WinUI 3 was just made available, it’s difficult to predict long-term demands for the framework. This notwithstanding, WinUI can potentially become the primary Windows desktop development platform for the following reasons:

  • WinUI's rendering engine uses the newest version of DirectX and can achieve better performance levels that potentially outpace both WPF and WinForms.
  • Most of the framework’s API is asynchronous, making it easier to develop responsive applications.
  • Animations can be smoother and less resource-intensive. Many built-in transition animations are available.
  • As a native Windows 10 UI platform, WinUI will be the first to support new features as they are introduced Windows. Some examples are - support for modern input devices, built-in gesture recognition, screen capture protection, additional application states.
  • WinUI makes it easier to develop apps for dual-screen devices running on Windows 10X.
  • Support for managed desktop and native apps removes sandbox restrictions, simplifying access to hardware and the file system.

Limitations

Of course, as a new framework, WinUI handles some things differently and has limitations, both temporary and permanent.

Preview 1 limitations:

  • Visual Studio designer and UI debugging tools for XAML are not supported.
  • IntelliSense in XAML is not supported.
  • WinUI content can only be hosted in one window per process (ETA: Preview 3).
  • XAML Islands are not supported (ETA: Preview 3).
  • Background Acrylic is not supported.
  • Debugging is limited.
  • Desktop apps developed with WinUI must be packaged.
  • You may encounter performance issues caused by marshalling.
  • Controls don't react to INotifyCollectionChanged notifications.

Other Preview 1 limitations not included in this list can be found in this help topic: Preview 1 limitations and known issues.

Platform limitations that will likely remain unresolved in the release version:

  • WinUI 3.0 requires Windows 10 1803 (April 2018 Update) or higher. Previous Windows versions are not going to be supported.
  • WinUI controls are written in C++. This complicates debugging and makes it harder to derive from standard controls.
  • Asynchronous API can be harder to work with and complicates debugging.
  • WPF developers will not have access to certain XAML-related features that they are familiar with. TypeConverters, RelativeSource bindings, Triggers, Dynamic Resources, and markup extensions such as x:Type and x:Shared are not available.

DevExpress UWP Controls for WinUI 3

The complete set of DevExpress UWP controls is now available for WinUI 3 Preview and can be used in applications that target UWP. This WinUI 3 component set includes over 30 controls, utilities, and multi-purpose tools for those targeting Windows 10. Components include a WinUI 3 Data Grid, Scheduler, Charting, and Navigation.

To explore the capabilities of DevExpress controls for WinUI 3, you first have to configure your development environment - install the latest Visual Studio 2019 Preview and the WinUI 3.0 Preview 1 VSIX extension. You can find detailed instructions in the following help topic: Try WinUI 3.0 Preview 1.

Once everything is installed, you can check our product demos available on GitHub
DevExpress WinUI UWP Demos

Your Vote Counts

Needless to say, WinUI 3 will play an important part in future product development plans. We are actively working with Microsoft to synchronize objectives – both for ourselves and our loyal users. Your early feedback will help shape future product offerings and help us deliver UI components that meet and exceed expectations. Please take a moment to answer the following survey questions and let us know what you think about WinUI 3.

Showcase Your Apps on DevExpress.com

Highlight your business app and share your development experiences with the DevExpress community. To include your app in our upcoming App Showcase, please forward an application screenshot to clientservices@devexpress.com and tell us which DevExpress products you currently use within your organization.
11 comment(s)
Stephen J White
Stephen J White
@Alex
Great news, I'll try to give it a try when possible with. I don't know if I will try integrating it into our current WPF application right now due to the limitations, but I definitely want to at least give it a try to see how well it behaves.
11 June 2020
Jean-Francois
Jean-Francois
We are using WinForms and are happy with, but one very interesting feature that we would like to integrate is XAML islands (and more specifically the ink canvas as an overlay), so anything you could do to make such a scenario easy / easier would be great. 
11 June 2020
Stepan Lauryn
Stepan Lauryn
Now, we are using WinForm. We are using XAF-WinForm. Maybe in fiture :-)
11 June 2020
Mohamed Al Zayani
Mohamed Al Zayani
WinForms, WPF, UWP and now WinUI. too fragmented!
11 June 2020
dev@mallard
dev@mallard

@Mohamed exactly.

Real world development lifecycles don't allow for this almost constant barrage of new, immature MS frameworks. Is anyone really that bothered about UWP? as the likely hood is it will just fall to the wayside in the wake of Xamarin Forms.

12 June 2020
Stefano Paparesta
Stefano Paparesta

Sorry, but this https://devblogs.microsoft.com/dotnet/introducing-net-multi-platform-app-ui/ how can insert in the scenario ?

For now i use Winforms, in future i don't know

12 June 2020
Alex Chuev (DevExpress)
Alex Chuev (DevExpress)

Thanks for sharing your opinion. We believe that WinUI has potential and can overcome some of UWP's weaknesses. In the future, it may deserve a place at the table alongside Microsoft's two major desktop platforms. This fact notwithstanding, we will have to wait and see - it is still an early Preview, especially for Desktop Win32 scenarios.

12 June 2020
Alex Chuev (DevExpress)
Alex Chuev (DevExpress)
Stefano:
MAUI is another framework introduced at Build. It is an evolution of Xamarin.Forms, a toolkit for building apps that target Android, iOS, and Windows with a single code base. In other words, WinUI is a framework for native Windows apps, and MAUI is a framework for multi-platform apps. We'll have more to share in this regard next week.
12 June 2020
ASPMVCNewbie
ASPMVCNewbie
Hold your horses - Don’t sell your mule to buy a plough. 
17 June 2020
CRM-2f79d966-1ad4-42c8-9cd4-7d3dddf97a77
Kevin
@Alex:
Any news regarding MAUI? Couldn't find anything on your blog.
17 July 2020
Roman K (DevExpress)
Roman K (DevExpress)
@ Kevin


MAUI is important because it is considered the next evolution of Xamarin. Major portions of our components for Xamarin.Forms are already native (platform-specific). This will allow us to quickly ship products when/if MAUI overtakes Xamarin as the platform of choice for Visual Studio developers.
18 July 2020

Please login or register to post comments.