Uno.WindowsCommunityToolkit
Uno.WindowsCommunityToolkit copied to clipboard
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 toolki...
Uno Platform port of Windows Community Toolkit
This port allows for Uno Platform based apps to use Windows Community Toolkit for WinUI 3 on Windows, iOS, macOS, Android, WebAssembly and Linux.
See below on this page for information about UWP.
The following packages are available:
- Uno.CommunityToolkit.Common
- Uno.CommunityToolkit.WinUI
- Uno.CommunityToolkit.WinUI.Connectivity
- Uno.CommunityToolkit.WinUI.DeveloperTools
- Uno.CommunityToolkit.WinUI.UI
- Uno.CommunityToolkit.WinUI.UI.Animations
- Uno.CommunityToolkit.WinUI.UI.Behaviors
- Uno.CommunityToolkit.WinUI.UI.Controls
- Uno.CommunityToolkit.WinUI.UI.Controls.Core
- Uno.CommunityToolkit.WinUI.UI.Controls.DataGrid
- Uno.CommunityToolkit.WinUI.UI.Controls.Input
- Uno.CommunityToolkit.WinUI.UI.Controls.Layout
- Uno.CommunityToolkit.WinUI.UI.Controls.Markdown
- Uno.CommunityToolkit.WinUI.UI.Controls.Media
- Uno.CommunityToolkit.WinUI.UI.Controls.Primitives
- Uno.CommunityToolkit.WinUI.UI.Media
Using the Uno Platform Windows Community Toolkit packages
These packages are providing support for the Uno Platform supported targets (iOS, Android, macOS, WebAssembly and Skia GTK/WPF/Tizen).
On Windows projects (the WinUI 3 Desktop head), please install the official Windows Community Toolkit packages for WinUI 3.
If you are building a library, use the following to conditionally include the toolkit builds:
<ItemGroup Condition="$(TargetFramework.Contains('windows10'))">
<PackageReference Include="CommunityToolkit.WinUI.Controls" Version="7.1.2" />
</ItemGroup>
<ItemGroup Condition="!$(TargetFramework.Contains('windows10'))">
<PackageReference Include="Uno.CommunityToolkit.WinUI.Controls" Version="7.1.200" />
</ItemGroup>
For example, using the default Uno template, you only need to add the following lines (as needed) to the class library <AppName>.csproj. No changes are needed in each target separately (<AppName>.Wasm.csproj, <AppName>.Windows.csproj, etc.)
<ItemGroup Condition="$(TargetFramework.Contains('windows10'))">
<PackageReference Include="CommunityToolkit.Common" />
<PackageReference Include="CommunityToolkit.WinUI" />
<PackageReference Include="CommunityToolkit.WinUI.Connectivity" />
<PackageReference Include="CommunityToolkit.WinUI.DeveloperTools" />
<PackageReference Include="CommunityToolkit.WinUI.UI" />
<PackageReference Include="CommunityToolkit.WinUI.UI.Animations" />
<PackageReference Include="CommunityToolkit.WinUI.UI.Behaviors" />
<PackageReference Include="CommunityToolkit.WinUI.UI.Controls" />
<PackageReference Include="CommunityToolkit.WinUI.UI.Controls.Core" />
<PackageReference Include="CommunityToolkit.WinUI.UI.Controls.DataGrid" />
<PackageReference Include="CommunityToolkit.WinUI.UI.Controls.Input" />
<PackageReference Include="CommunityToolkit.WinUI.UI.Controls.Layout" />
<PackageReference Include="CommunityToolkit.WinUI.UI.Controls.Markdown" />
<PackageReference Include="CommunityToolkit.WinUI.UI.Controls.Media" />
<PackageReference Include="CommunityToolkit.WinUI.UI.Controls.Primitives" />
<PackageReference Include="CommunityToolkit.WinUI.UI.Media" />
</ItemGroup>
<ItemGroup Condition="!$(TargetFramework.Contains('windows10'))">
<PackageReference Include="Uno.CommunityToolkit.Common" />
<PackageReference Include="Uno.CommunityToolkit.WinUI" />
<PackageReference Include="Uno.CommunityToolkit.WinUI.Connectivity" />
<PackageReference Include="Uno.CommunityToolkit.WinUI.DeveloperTools" />
<PackageReference Include="Uno.CommunityToolkit.WinUI.UI" />
<PackageReference Include="Uno.CommunityToolkit.WinUI.UI.Animations" />
<PackageReference Include="Uno.CommunityToolkit.WinUI.UI.Behaviors" />
<PackageReference Include="Uno.CommunityToolkit.WinUI.UI.Controls" />
<PackageReference Include="Uno.CommunityToolkit.WinUI.UI.Controls.Core" />
<PackageReference Include="Uno.CommunityToolkit.WinUI.UI.Controls.DataGrid" />
<PackageReference Include="Uno.CommunityToolkit.WinUI.UI.Controls.Input" />
<PackageReference Include="Uno.CommunityToolkit.WinUI.UI.Controls.Layout" />
<PackageReference Include="Uno.CommunityToolkit.WinUI.UI.Controls.Markdown" />
<PackageReference Include="Uno.CommunityToolkit.WinUI.UI.Controls.Media" />
<PackageReference Include="Uno.CommunityToolkit.WinUI.UI.Controls.Primitives" />
<PackageReference Include="Uno.CommunityToolkit.WinUI.UI.Media" />
</ItemGroup>
Also, don't forget to add the corresponding package versions in Directory.Packages.props:
<PackageVersion Include="Uno.CommunityToolkit.Common" Version="7.1.200" />
<PackageVersion Include="Uno.CommunityToolkit.WinUI" Version="7.1.200" />
<PackageVersion Include="Uno.CommunityToolkit.WinUI.Connectivity" Version="7.1.200" />
<PackageVersion Include="Uno.CommunityToolkit.WinUI.DeveloperTools" Version="7.1.200" />
<PackageVersion Include="Uno.CommunityToolkit.WinUI.UI" Version="7.1.200" />
<PackageVersion Include="Uno.CommunityToolkit.WinUI.UI.Animations" Version="7.1.200" />
<PackageVersion Include="Uno.CommunityToolkit.WinUI.UI.Behaviors" Version="7.1.200" />
<PackageVersion Include="Uno.CommunityToolkit.WinUI.UI.Controls" Version="7.1.200" />
<PackageVersion Include="Uno.CommunityToolkit.WinUI.UI.Controls.Core" Version="7.1.200" />
<PackageVersion Include="Uno.CommunityToolkit.WinUI.UI.Controls.DataGrid" Version="7.1.200" />
<PackageVersion Include="Uno.CommunityToolkit.WinUI.UI.Controls.Input" Version="7.1.200" />
<PackageVersion Include="Uno.CommunityToolkit.WinUI.UI.Controls.Layout" Version="7.1.200" />
<PackageVersion Include="Uno.CommunityToolkit.WinUI.UI.Controls.Markdown" Version="7.1.200" />
<PackageVersion Include="Uno.CommunityToolkit.WinUI.UI.Controls.Media" Version="7.1.200" />
<PackageVersion Include="Uno.CommunityToolkit.WinUI.UI.Controls.Primitives" Version="7.1.200" />
<PackageVersion Include="Uno.CommunityToolkit.WinUI.UI.Media" Version="7.1.200" />
<PackageVersion Include="CommunityToolkit.Common" Version="8.2.2" />
<PackageVersion Include="CommunityToolkit.WinUI" Version="7.1.2" />
<PackageVersion Include="CommunityToolkit.WinUI.Connectivity" Version="7.1.2" />
<PackageVersion Include="CommunityToolkit.WinUI.DeveloperTools" Version="7.1.2" />
<PackageVersion Include="CommunityToolkit.WinUI.UI" Version="7.1.2" />
<PackageVersion Include="CommunityToolkit.WinUI.UI.Animations" Version="7.1.2" />
<PackageVersion Include="CommunityToolkit.WinUI.UI.Behaviors" Version="7.1.2" />
<PackageVersion Include="CommunityToolkit.WinUI.UI.Controls" Version="7.1.2" />
<PackageVersion Include="CommunityToolkit.WinUI.UI.Controls.Core" Version="7.1.2" />
<PackageVersion Include="CommunityToolkit.WinUI.UI.Controls.DataGrid" Version="7.1.2" />
<PackageVersion Include="CommunityToolkit.WinUI.UI.Controls.Input" Version="7.1.2" />
<PackageVersion Include="CommunityToolkit.WinUI.UI.Controls.Layout" Version="7.1.2" />
<PackageVersion Include="CommunityToolkit.WinUI.UI.Controls.Markdown" Version="7.1.2" />
<PackageVersion Include="CommunityToolkit.WinUI.UI.Controls.Media" Version="7.1.2" />
<PackageVersion Include="CommunityToolkit.WinUI.UI.Controls.Primitives" Version="7.1.2" />
<PackageVersion Include="CommunityToolkit.WinUI.UI.Media" Version="7.1.2" />
Support for UWP
As the original Community Toolkit does, this fork also provides binaries for UWP, and the branch unorel/7.1 is used to provide this support.
The following packages are available from this branch:
- Uno.Microsoft.Toolkit
- Uno.Microsoft.Toolkit.Uwp
- Uno.Microsoft.Toolkit.Uwp.Connectivity
- Uno.Microsoft.Toolkit.Uwp.DeveloperTools
- Uno.Microsoft.Toolkit.Uwp.UI
- Uno.Microsoft.Toolkit.Uwp.UI.Animations
- Uno.Microsoft.Toolkit.Uwp.UI.Behaviors
- Uno.Microsoft.Toolkit.Uwp.UI.Controls
- Uno.Microsoft.Toolkit.Uwp.UI.Controls.Core
- Uno.Microsoft.Toolkit.Uwp.UI.Controls.DataGrid
- Uno.Microsoft.Toolkit.Uwp.UI.Controls.Input
- Uno.Microsoft.Toolkit.Uwp.UI.Controls.Layout
- Uno.Microsoft.Toolkit.Uwp.UI.Controls.Markdown
- Uno.Microsoft.Toolkit.Uwp.UI.Controls.Media
- Uno.Microsoft.Toolkit.Uwp.UI.Controls.Primitives
- Uno.Microsoft.Toolkit.Uwp.UI.Media
Using the Uno Platform Windows Community Toolkit packages for UWP
These packages are providing support for the Uno Platform supported targets (iOS, Android, macOS, WebAssembly and Skia GTK/WPF/Tizen).
On Windows projects (the UWP head), please install the official Windows Community Toolkit packages.
If you are building a library, use the following to conditionally include the toolkit builds:
<ItemGroup Condition="'$(TargetFramework)' == 'uap10.0.17763'">
<PackageReference Include="Microsoft.Toolkit.Uwp.Controls" Version="7.1.10" />
</ItemGroup>
<ItemGroup Condition="'$(TargetFramework)' != 'uap10.0.17763'">
<PackageReference Include="Uno.Microsoft.Toolkit.Uwp.Controls" Version="7.1.10" />
</ItemGroup>