Microsoft releases a major update for Windows Community Toolkit

Microsoft Windows

Microsoft today announced the release of Windows Community Toolkit v7.0, one of the largest releases of the Toolkit ever. This new toolkit update comes with several improvements including the new .NET Standard MVVM library, new Toast Notification helpers for both .NET and UWP, a revamped composition Animation system for C# & XAML, new controls, and more. Some of the improvements and new features are listed below.

  • The Animation package is now lighter weight to support just C# and XAML animations directly.
  • We have split the Behaviors reference into a new Microsoft.Toolkit.Uwp.UI.Behaviors package which includes various new Behaviors and new hooks into Animations.
  • Effects that were in the Animations package are now supported by improvements to the Microsoft.Toolkit.Uwp.UI.Media package which allow for adding effects directly to elements as well as animation support.
  • The Controls package is now a meta-package which contains various sub-packages.
  • Having a parent package should make upgrading straightforward.
  • Extra controls like DataGrid and the ItemsRepeater Layouts will now also be included by default giving you access to all the Toolkit has to offer when getting started.
  • The Controls package now depends on WinUI 2.5, which will help us with providing more consistent control styling moving forward and taking advantage of the latest fixes and features the platform has to offer.
  • Once you’ve built an app, you can now optimize it by removing the umbrella Controls package and only including the packages with controls you require.
  • All Extensions have been moved to the root namespace for each package to make them easier to discover, use, and understand where they are coming from.
  • Most should just require a namespace/xmlns change to migrate.
  • Note: We suggest migrating from Dispatcher usage to DispatcherQueue as per platform guidance. This allows for usage of components within XAML Islands and WinUI 3.
  • The Guard and ThrowHelper APIs have been moved to a new Microsoft.Toolkit.Diagnostics package.
  • Deferred Event helpers have moved to Microsoft.Toolkit as they are .NET Standard compatible; only the UWP specific event extensions have remained in Microsoft.Toolkit.Uwp.
  • The minimum platform version of the Toolkit’s UWP components is now 1809 (17763) to remove most of our conditional XAML code overhead and snap to the current long-term servicing release of Windows 10.
  • We have migrated our Gaze component code to C# for easing maintenance and improvements in the future.
  • We have removed the default Json Serializer dependency from Microsoft.Toolkit.Uwp which was adding a sizeable application footprint overhead even if unused.
  • Note: If upgrading an existing 6.1 app which was storing complex types you’ll want to ensure you test upgrading an existing data store or specifying a Newtonsoft.Json serializer to maintain compatibility with your existing app.
  • However, we now allow the app developer to specify whichever serializer they would like to use instead in case they need to share data with other aspects of their front/backend.
  • See here for more guidance on specifying a custom serializer and examples of using System.Text.Json, Newtonsoft.Json, or the DataContractSerializer.

Source: Microsoft