Skip to content

About

The Windows Community Toolkit is a collection of helper functions, custom controls, and app services. It simplifies and demonstrates common developer tasks building UWP apps for Windows 10. The toolkit is part of the .NET Foundation.

Topics

Resources

Code of conduct

Contributing

Security policy

Stars

64 stars

Watchers

15 watching

Forks

 
 

Latest commit

 

History

14,032 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Uno Platform port of Windows Community Toolkit version 7.x

This port allows for Uno Platform based apps to use Windows Community Toolkit version 7.x for WinUI 3 on Windows, iOS, macOS, Android, WebAssembly, and Linux.

Important

Note that this Uno Platform fork of the Windows Community Toolkit is for version 7.x only. If you update to version 8.x, Uno Platform support is now available out of the box. You can remove the Uno Windows Community Toolkit references and all Condition statements around the packages. For more details on how to use Windows Community Toolkit, complete details are available here.

Versions

Pick the package version that matches the Uno Platform version of your app:

Packages Uno Platform Target frameworks Branch
7.2.x 7.0 and later net10.0, used by every Uno Platform head uno
7.1.2xx 5.x and 6.x net7.0, net7.0-android, net7.0-ios, net7.0-maccatalyst, net7.0-macos servicing/7.1 for dev builds, unorel/winui/7.1.200 for stable releases
7.1.1xx 4.x Xamarin and net6.0 targets unorel/winui/7.1

Until Uno Platform 7.0 is released, 7.2 is published to nuget.org as 7.2.0-dev.N prereleases. They depend on Uno.WinUI 7.0.0-dev.2347 or later, so the app needs an Uno.Sdk that ships at least that version: Uno.Sdk 7.0.0-dev.81 (Uno.WinUI 7.0.0-dev.2347) works, while 7.0.0-dev.67 (Uno.WinUI 7.0.0-dev.2100) fails to restore with NU1605.

Moving to 7.2 (Uno Platform 7)

  • The packages are built against Uno Platform 7 and require .NET 10. Uno Platform 7 renders every target with Skia, so a single net10.0 build serves the desktop, WebAssembly, Android and iOS heads. Binaries built for Uno Platform 6 or earlier cannot be loaded by an Uno Platform 7 app.
  • The XAML Behaviors dependency is now Uno.Microsoft.Xaml.Behaviors.Interactivity.WinUI 4.x, the only line built for Uno Platform 7. Since XAML Behaviors 3.0, the Microsoft.Xaml.Interactions assembly is gone: EventTriggerBehavior, InvokeCommandAction, DataTriggerBehavior, ControlStoryboardAction and the rest of Microsoft.Xaml.Interactions.Core and Microsoft.Xaml.Interactions.Media live in Microsoft.Xaml.Interactivity. Point the existing prefixes at it, e.g. xmlns:core="using:Microsoft.Xaml.Interactivity", and the elements need no change. In C#, replace using Microsoft.Xaml.Interactions.Core; and .Media with using Microsoft.Xaml.Interactivity;, including in files that declare their own behaviors or actions in those namespaces. A Windows head that shares the XAML needs Microsoft.Xaml.Behaviors.WinUI.Managed 3.x, because Microsoft's toolkit 7.1.2 brings 2.0.8.
  • DataGrid honors [ReadOnly] on auto-generated columns, as it does on Windows.
  • UserInteractionModeStateTrigger never activates on Uno Platform, because UIViewSettings.GetForCurrentView() is not implemented there. It used to throw and fail the page that used it.
  • ScrollViewerExtensions.EnableMiddleClickScrolling does nothing on Uno Platform 7, because it tracks the pointer through CoreWindow, which is null for Uno Platform 7 windows. It used to throw.
  • CommunityToolkit.WinUI.Notifications is not part of the Uno Platform build: it targets Windows only and was never published as an Uno package.
  • Windows (WinAppSDK) heads keep using the packages published by Microsoft, as before.

The following packages are available:

[WinUI / WinAppSDK]

  • Uno.CommunityToolkit.Common NuGet
  • Uno.CommunityToolkit.WinUI NuGet
  • Uno.CommunityToolkit.WinUI.Connectivity NuGet
  • Uno.CommunityToolkit.WinUI.DeveloperTools NuGet
  • Uno.CommunityToolkit.WinUI.UI NuGet
  • Uno.CommunityToolkit.WinUI.UI.Animations NuGet
  • Uno.CommunityToolkit.WinUI.UI.Behaviors NuGet
  • Uno.CommunityToolkit.WinUI.UI.Controls NuGet
  • Uno.CommunityToolkit.WinUI.UI.Controls.Core NuGet
  • Uno.CommunityToolkit.WinUI.UI.Controls.DataGrid NuGet
  • Uno.CommunityToolkit.WinUI.UI.Controls.Input NuGet
  • Uno.CommunityToolkit.WinUI.UI.Controls.Layout NuGet
  • Uno.CommunityToolkit.WinUI.UI.Controls.Markdown NuGet
  • Uno.CommunityToolkit.WinUI.UI.Controls.Media NuGet
  • Uno.CommunityToolkit.WinUI.UI.Controls.Primitives NuGet
  • Uno.CommunityToolkit.WinUI.UI.Media NuGet

These package IDs are for Uno Platform (non-Windows) projects. For WinUI 3 projects, you should use the equivalent packages published by Microsoft (CommunityToolkit.WinUI, CommunityToolkit.WinUI.UI.Controls etc).

Using the Uno Platform Windows Community Toolkit packages

For how to use Windows Community Toolkit, complete details are available here.

About

The Windows Community Toolkit is a collection of helper functions, custom controls, and app services. It simplifies and demonstrates common developer tasks building UWP apps for Windows 10. The toolkit is part of the .NET Foundation.

Topics

Resources

Code of conduct

Contributing

Security policy

Stars

64 stars

Watchers

15 watching

Forks

Releases

Packages

Used by

Contributors

Languages