Microsoft Is Making A Big Change To Some Of Its Developer Tools

Skip to main content



Overview and release notes: Windows UI Library three – Project Reunion 0.8 Preview (May 2021)

Windows UI Library (WinUI) iii is a native user feel (UX) framework for edifice modernistic Windows apps. It ships independently from the Windows operating system equally a office of Project Reunion (now called the
Windows App SDK). The 0.eight Preview release provides WinUI iii templates in Visual Studio to assistance you start building apps with a WinUI 3-based user interface.

WinUI 3 – Project Reunion 0.8 Preview
is a pre-release version of WinUI 3 that includes bug fixes, general improvements, and experimental features – some of which will be stabilized for the Windows App SDK 0.8 stable release in June 2021.

Of import

This preview release is intended for early on evaluation and to gather feedback from the developer customs. Information technology should
Not
be used for production apps.

If yous’re looking to ship a production app using Project Reunion and WinUI 3, see Overview and release notes: WinUI 3 – Projection Reunion 0.5.

Please employ the WinUI GitHub repo to provide feedback and log suggestions and issues.

Annotation

Project Reunion
is the previous lawmaking name for the Windows App SDK. This documentation still uses
Project Reunion
when referring to previous releases that used this code name.

Install WinUI three – Project Reunion 0.8 Preview

This version of WinUI three is bachelor as function of the Projection Reunion 0.8 Preview. To install, see:

Install tools for preview and experimental channels of the Windows App SDK

Since WinUI ships every bit a office of Project Reunion, you’ll download the Project Reunion Visual Studio Extension (VSIX) to become started, which includes a prepare of developer tools and components. For more on the Projection Reunion packet, see Deploy apps that utilize the Windows App SDK. The Windows App SDK VSIX includes WinUI three templates in Visual Studio that you’ll use to build your WinUI three app.

Note

To encounter WinUI 3 controls and features in action, you can clone and build the WinUI 3 Controls Gallery from GitHub, or download it from the Microsoft Store.

Once you’ve set up your development environment, meet WinUI 3 templates in Visual Studio to familiarize yourself with the available Visual Studio project and item templates.

For more data about getting started with building a WinUI 3 app, see the post-obit manufactures:

  • Create your first WinUI 3 project
  • Build a bones WinUI 3 app for desktop

Bated from the limitations and known bug, building an app using the WinUI projects is similar to building a UWP app with XAML and WinUI 2. Therefore, about of the guidance documentation for UWP apps and the
Windows.UI
WinRT namespaces in the Windows SDK is applicable.

WinUI 3 API reference documentation is bachelor hither: WinUI 3 API Reference

WebView2

To employ WebView2 with this WinUI three release, please download the Evergreen Bootstrapper or Evergreen Standalone Installer found on this folio if you don’t already have the WebView2 Runtime installed.

Windows Community Toolkit

If you’re using the Windows Community Toolkit, download the latest version.

Popular:   Google Just Gave Open Source A Major Show Of Support

Visual Studio Support

In social club to take advantage of the latest tooling features added into WinUI 3 like Hot Reload, Alive Visual Tree, and Alive Property Explorer, you must apply a preview version of Visual Studio 2022 16.ten. Please note that Visual Studio preview releases are pre-release products, so you may encounter bugs and limitations when using preview versions of Visual Studio to build WinUI iii apps.

The table below shows the compatibility of Visual Studio 2022 versions with WinUI 3 – Project Reunion 0.v.

VS Version WinUI 3 – Projection Reunion 0.5
sixteen.8 No
xvi.9 Yes, but with no Hot Reload, Live Visual Tree, or Live Property Explorer
sixteen.10 Previews Yes, with all WinUI 3 tooling (in preview)

Updating your existing WinUI 3 app

If you lot created an app with an before preview or stable version of WinUI 3, you tin update the project to utilize WinUI three – Project Reunion 0.viii Preview. For instructions, see Update existing projects to the latest release of Project Reunion.

Major changes introduced in this release

  • Pivot control is now available to employ in this release.
  • Nearly of the critical bug fixes from the Project Reunion v0.5.5, v0.5.6, and v0.5.vii servicing releases are included in this release as well. For servicing fixes that didn’t make it into this preview, meet Known Issues.

List of bugs fixed in WinUI 3 – Project Reunion 0.eight Preview

  • 10:Bind does non work in a custom MenuFlyoutItem (more than mostly, x:Bind in ControlTemplate doesn’t piece of work if the parent namescope also uses x:Bind)

    • Thank you to
      @lhak
      for filing this issue on GitHub!
  • Hide windowed popups when the top-level window (or island) moves

  • StandardUICommand page in WinUI 3 Controls Gallery non showing everything

  • Mouse correct-click in TextBox crashes the application

    • Thanks to
      @Herdubreid
      for filing this result on GitHub!
  • Context menu displayed at the wrong location for EditableComboBox

  • Changing RichTextBlock Selection with bear upon makes choice indicator go away

  • Microsoft C++ exception: winrt::hresult_error at retention location 0x… when NavigationView is being used

    • Thank you to
      @LeftTwixWand
      for filing this issue on GitHub!
  • WinUI iii error message needs rewording: “Cannot resolve ‘Windows.metadata’. Delight install the Windows Software Evolution Kit. The Windows SDK is installed with Visual Studio.”

  • VSM Setter quirk for raising exception has backwards logic

    • Thanks to
      @HppZ
      for filiing this issue on GitHub!
  • Motility focus off the WebView2 (if necessary) when browser process crashes

  • ProgressBar doesn’t bear witness divergence between Paused and Fault option

    • Thansk to
      @j0shuams
      for filing this issue on GitHub!
  • PointerReplay constantly running

  • NavigationView causes crash in UWP, Reunion 0.5 Preview

    • Thanks to
      @kalin-todorov
      for filing this event on GitHub!
  • AutoSuggestBox, ComboBox, and CommandBarFlyout aren’t setting ShouldConstrainToRootBounds=”false” on their popup

  • WinUI three – Project Reunion 0.5 generating C++ exceptions for a C# managed app

    • Thanks to
      @Noemata
      for filing this consequence on GitHub!
  • WebView2 initial tab focus lost

  • WebView2 crashes when DPI changes after Close()

  • Change in Appearance of AppBarButton with Flyout on CommandBar in WinUI3

    • Thanks to
      @eleanorleffler
      for filing this outcome on GitHub!

Features and capabilities introduced in past WinUI 3 Previews

The post-obit features and capabilities were introduced in past WinUI 3 preview releases and continue to be supported in WinUI 3 – Project Reunion 0.eight Preview.

  • Ability to create desktop apps with WinUI, including .Net 5 for Win32 apps
  • Preview-level support for building UWP apps
  • RadialGradientBrush
  • TabView updates
  • Dark theme updates
  • Improvements and updates to WebView2
    • Support for High DPI
    • Support for window resizing and moving
    • Updated to target more recent version of Edge
    • No longer necessary to reference a WebView2-specific Nuget package
  • SwapChainPanel
  • MRT Cadre Support
    • This makes apps faster and lighter on startup and provides quicker resource lookup.
  • Arm64 Support
  • Drag and drop inside and outside of apps
  • RenderTargetBitmap (currently only XAML content – no SwapChainPanel content)
  • Custom cursor support
  • Off-thread input
  • Improvements to our tooling/developer feel:
    • Live Visual Tree, Hot Reload, Alive Property Explorer and similar tools
    • Intellisense for WinUI 3
  • Improvements required for open source migration
  • Custom titlebar capabilities: new Window.ExtendsContentIntoTitleBar and Window.SetTitleBar APIs that allow developers to create custom title bars in desktop apps.
  • VirtualSurfaceImageSource support
  • In-app acrylic
  • Multi-window support in desktop apps
  • Input validation

For more information on both the benefits of WinUI 3 and the WinUI roadmap, come across the Windows UI Library Roadmap on GitHub.

Provide feedback and suggestions

We welcome your feedback in the WinUI GitHub repo.

What’s coming next?

For more information on when specific features are planned, see the feature roadmap on GitHub.

Limitations and known issues

The WinUI 3 – Projection Reunion 0.viii Preview is but that, a preview. Please expect bugs, limitations, and other issues.

The following items are some of the known issues with WinUI 3 – Project Reunion 0.viii. If you notice an issue that isn’t listed below, please let us know by contributing to an existing issue or filing a new issue through the WinUI GitHub repo.

Platform and Os support

WinUI 3 – Project Reunion 0.eight Preview is compatible with PCs running the Windows ten Oct 2022 Update (version 1809 – build 17763) and newer.

Developer tools

  • Simply C# and C++/WinRT apps are supported
  • Desktop apps support .Internet v and C# 9, and must be packaged in an MSIX app
  • No XAML Designer support
  • New C++/CX apps are not supported, however, your existing apps will continue to function (please move to C++/WinRT as soon as possible)
  • Unpackaged desktop deployment is not supported
  • When running a desktop app using F5, make sure that you lot are running the packaging project. Hitting F5 on the app project will run an unpackaged app, which WinUI 3 does not even so support.

Missing Platform Features

  • Xbox support

  • HoloLens support

  • Windowed popups

    • More specifically, the
      ShouldConstrainToRootBounds
      belongings e’er acts every bit if it’south set to
      true, regardless of the belongings value.
  • Inking support, including:

    • InkCanvas
    • HandwritingView
    • InkPresenter
  • Background acrylic

  • MediaElement and MediaPlayerElement

  • MapControl

  • SwapChainPanel does not support transparency

  • AcrylicBrush and other effects using a CompositionBackdropBrush can’t sample from a SwapChainPanel or WebView2.

  • Global Reveal uses fallback behavior, a solid castor

  • XAML Islands is non supported in this release

  • Using WinUI 3 straight in an existing not-WinUI desktop app has the following limitation: The currently available path for migrating an existing app is to add a
    new
    WinUI 3 project to your solution, and arrange or refactor your logic equally needed.

  • Application.Suspending is not called in desktop apps. Encounter API reference documentation on the Application.Suspending Event for more details.

  • The UISettings.ColorValuesChanged Event and AccessibilitySettings.HighContrastChanged Issue are no longer supported in desktop apps. This may cause problems if you are using information technology to find changes in Windows themes.

  • Previously, to go a CompositionCapabilities instance you would call CompositionCapabilites.GetForCurrentView(). Still, the capabilities returned from this call were
    not
    dependent on the view. To address and reverberate this, we’ve deleted the GetForCurrentView() static in this release, so at present you can create a CompositionCapabilties object direct.

  • CoreWindow, ApplicationView, CoreApplicationView, CoreDispatcher and their dependencies are not supported in desktop apps (see below)

Popular:   Disney Plus Sets Release Dates For Hocus Pocus 2 And Enchanted 2

CoreWindow, ApplicationView, CoreApplicationView, and CoreDispatcher in desktop apps

New in WinUI 3 Preview 4 and standard going forward, CoreWindow, ApplicationView, CoreApplicationView CoreDispatcher, and their dependencies are not available in desktop apps. For example, the Window.Dispatcher property is always
null, merely the
Window.DispatcherQueue
property can be used every bit an culling.

These APIs only piece of work in UWP apps. In past previews they’ve partially worked in desktop apps as well, but since Preview iv they’ve been fully disabled. These APIs are designed for the UWP example where there is but ane window per thread, and i of the features of WinUI iii is to enable multiple in the future.

There are APIs that internally depend on existence of these APIs, which consequently aren’t supported in a desktop app. These APIs generally have a static
GetForCurrentView
method. For example UIViewSettings.GetForCurrentView.

For more than information on afflicted APIs as well as workarounds and replacements for these APIs, please see Windows Runtime APIs not supported in desktop apps.

Known issues

  • You may recieve a build error due to mismatched versions of the .Net SDK and the winrt.runtime.dll. Equally a workaround, you can attempt the following:

    Explicitly set up your .Internet SDK to the right version. To determine the correct version for your app, locate the
    <TargetFramework>
    tag in your projection file. Using the Windows SDK build number that your app is targeting in the
    <TargetFramework>
    tag (such equally 18362 or 19041), add together the following particular to your project file, then save your projection:

                    <ItemGroup>                 <FrameworkReference Update="Microsoft.Windows.SDK.Cyberspace.Ref" RuntimeFrameworkVersion="x.0.{Target Windows SDK Build Number}.16" />     <FrameworkReference Update="Microsoft.Windows.SDK.NET.Ref" TargetingPackVersion="ten.0.{Target Windows SDK Build Number}.xvi" /> </ItemGroup>
                    
                  

    Note this workaround is required for .Net SDK v.0.203 and before, but volition not exist required for .Internet SDK five.0.204 or 5.0.300.

  • When using Visual Studio 2022 16.ten Preview 2, Live Visual Tree may cause a crash. To avoid this, update to the latest Visual Studio 2022 16.10 Preview.

  • Window explanation buttons may be misplaced when SetTitleBar is not fix or nada

Cheque out the WinUI 3 Controls Gallery (previously called
XAML Controls Gallery – WinUI 3 version) for a sample app that includes all controls and features that are a role of WinUI 3 – Project Reunion 0.viii Preview.



Case of the WinUI 3 Controls Gallery app

The WinUI 3 Controls Gallery app is available through the Microsoft Store.

You tin can also download the sample by cloning the GitHub repo. To do this, clone the
winui3
branch using the following command:

Annotation

At that place’s also a
winui3preview
branch in this GitHub repo that provides a version of the WinUI 3 Controls Gallery that’southward using WinUI 3 – Project Reunion 0.viii Preview.

            git clone --single-branch --branch winui3 https://github.com/microsoft/Xaml-Controls-Gallery.git
            
          

After cloning, ensure that you switch to the
winui3
branch in your local Git environment:

            git checkout winui3
            
          

See also

  • Windows App SDK
  • Stable release channel for the Windows App SDK
  • Windows App SDK Samples






Microsoft Is Making A Big Change To Some Of Its Developer Tools

Source: https://docs.microsoft.com/en-us/windows/apps/winui/winui3/release-notes/release-notes-08-preview