How to use Windows Community Toolkit

The Windows Community Toolkit is a collection of helper functions, custom controls, and app services. It simplifies and demonstrates common developer patterns when building experiences for Windows.

Depending on the version of the Windows Community Toolkit that you want to use, these tutorials below will walk you through adding and implementing:

  • For WCT version 8.x: The SettingsCard control, but the same steps can be followed for other* Windows Community Toolkit components supported out of the box.
  • For WCT version 7.x: The DataGrid control, but the same steps can be followed for other* Uno ported Windows Community Toolkit components.

* See the non-Windows platform compatibility section below for more details.

Important

Here is the Migration Guide from v7 to v8 for Windows Community Toolkit for additional information on what changed lately between these versions.

For some controls (DataGrid, Carousel, ect...) you will need to use version 7.x for them as they are no longer available in the latest 8.x version of Windows Community Toolkit. The complete list of changes is available in the migration guide.

For additional information, here are the releases notes for Windows Community Toolkit:

Non-Windows platform compatibility

Overview

While all Windows Community Toolkit packages are supported for UWP and WinAppSDK, this is not the case for the other platforms Uno Platform supports.

Unsupported Components

Some components, like Media, rely heavily on Composition APIs that are not yet supported by Uno Platform on all platforms. As a result, the Media package does not have the Uno-powered MultiTargets enabled, as the component would be non-functional out of the box.

In such cases, the Windows Community Toolkit prefers to disable the package for Uno Platform rather than enable it and have it not work. To address these functional gaps, we encourage contributing to Uno Platform to bridge the gaps for the missing supported APIs or to the Windows Community Toolkit by seeking or helping to build Uno-compatible alternatives.

Partial Support

In limited cases, WCT packages may have partial support for Uno Platform where the TargetFramework is enabled, but not all Toolkit code works out of the box. Currently, the only package in this scenario is Animations. It has a special FrameworkLayer abstraction that enables AnimationBuilder and CustomAnimation on Uno-powered MultiTargets but does not extend to ImplicitAnimationSet or Connected Animations. See CommunityToolkit/Windows #319 for tracking.

Majority Support

The majority of controls are supported on all platforms by default. If you find a package that doesn't work as expected on Uno Platform, please open an issue or discussion to let us know.

Troubleshooting

The features and support for Uno Platform and Windows Community Toolkit components are constantly evolving. Therefore, you may encounter some issues while building your application. We encourage you to report these issues and engage in discussions to help improve the platform.

Tip

Take a look at our common issues list if you're having any troubles.

If you are experiencing issues with Uno Platform, please visit our GitHub Discussions or Discord Server - where our engineering team and community will be able to help you.