WPF - Visual Studio Integration and Designer Support in .NET Core 3.0

WPF Team Blog
22 October 2019

v19.2 is right around the corner and will include an updated version of WPF components for .NET Core 3.0. As such, we want to describe changes WPF developers can expect in their design-time experience moving forward.

Distribution

Since .NET Core 3.0 projects don't use the Global Assembly Cache, the best way to reference assemblies is to add NuGet packages using the NuGet Package Manager. Our components ship in a separate installer and include local NuGet packages, demos, and source code.

NuGet packages are also available in the DevExpress feed for those who don't want to download the installer.

Project Templates

Later this year, the following templates will be available from the console as a .NET Core CLI package:

  • Blank Application
  • Blank MVVM Application
  • Ribbon Application

We are going to extend the number of .NET Core templates and register them in Visual Studio's New Project dialog in the future.

Toolbox

The DevExpress installer cannot register our components in the Visual Studio Toolbox because there is no Global Assembly Cache for .NET Core. However, Visual Studio can now retrieve Toolbox components from NuGet packages. Once you add a local .NET Core 3.0 package or a package from the DevExpress feed and build your project, Visual Studio will display our controls in the Toolbox.

Visual Studio Extensions

Our most popular Visual Studio extensions for .NET Framework apps - the Project Converter and the Assembly Deployment Tool, are not available for .NET Core 3.0 projects. Both of them rely on assembly references that are rarely used in .NET Core apps. To upgrade your .NET Core project to a newer version of DevExpress products, simply update DevExpress packages in the NuGet Package Manager (see How to reinstall and update packages). Deployed applications will contain all assemblies from DevExpress packages added using this method, even if they are not used directly in your code.

Designer Extensions

The WPF designer for .NET Core 3.0 uses a new surface isolation architecture that separates extensions from displayed controls.

Without direct access to displayed controls, most of our designer extensions are unable to function.

Supported features:

  • Toolbox
  • Switching tabs in TabControl

Unsupported features:

  • Smart Tags
  • Selection of non-visual elements (Data Grid columns, Toolbar & Ribbon items)
  • Data Source Wizard
  • Configuration wizards (Chart Designer, Diagram Designer, Feature Browser for the Data Grid)
  • Applying the application theme from App.config to all designer previews
  • Custom context menu items

Your Vote Counts

We are going to do more research and communicate with Microsoft to see which designer features can be rewritten for the surface isolation architecture. However, rewriting all designer features will take time. We would like to hear from you - which designer features are you using most in your projects? Please take the survey below or share your opinion in the comments field below.

4 comment(s)
Stephen J White
Stephen J White

@Alex 

Just to elaborate on designer features - the features I use the most for the designer are probably anything that helps scaffold bulk items (like being able to generate grid column elements). I really do miss having that feature in .NET Core as it saved my hands some pain from having to type or copy and paste a bunch of empty xaml elements and fill them out manually. :( 




23 October, 2019
Eaton Z.
Eaton Z.
"v19.2 is right around the corner" - any ETA when v19.2 will be out of beta?
23 October, 2019
Alex Chuev (DevExpress)
Alex Chuev (DevExpress)

Eaton,


We've just released v19.2.3. It is now available to all active Universal, DXperience, and WPF subscribers.


Thanks,

Alex

25 October, 2019
Eaton Z.
Eaton Z.
@Alex: Wow, pleasant surprise!😁
25 October, 2019

Please login or register to post comments.