Share via

Why does CommunityToolkit.Uwp.Controls.Primitive use namespace CommunityToolkit.WinUI.Controls?

Hong 1,526 Reputation points
2026-01-28T15:25:34.92+00:00

Nuget package Microsoft.Toolkit.Uwp.UI.Controls has been deprecated. I followed VS suggestion to replace it with CommunityToolkit.Uwp.Controls.Primitives.

I cannot find components with Microsoft.Toolkit.Uwp.*. It seems that package CommunityToolkit.Uwp.Controls.Primitive uses CommunityToolkit.WinUI.Controls as its namespace.

I have been using GridSplitter from Microsoft.Toolkit.Uwp.UI.Controls. What is its equivalent in CommunityToolkit.Uwp.Controls.Primitive?

Could anyone shed some light on this?

Windows development | Windows API - Win32
0 comments No comments

Answer accepted by question author

Jack Dang (WICLOUD CORPORATION) 18,970 Reputation points Microsoft External Staff Moderator
2026-01-29T04:03:10.54+00:00

Hi @Hong ,

Thanks for reaching out.

Windows Community Toolkit unified and reorganized its packages in newer versions (v8+). All of the controls - whether for UWP/WinUI2 or for WinUI3 - now live under the CommunityToolkit.WinUI.Controls namespace even when the NuGet package name starts with CommunityToolkit.Uwp.*. This is intentional to align naming and support shared control implementations.

https://devblogs.microsoft.com/ifdef-windows/announcing-windows-community-toolkit-v8-0/

Regarding the GridSplitter you were using: in the newer toolkit versions, GridSplitter is no longer part of the old Microsoft.Toolkit.Uwp.UI.Controls or the CommunityToolkit.Uwp.Controls.Primitives package. Instead, it has been moved to its own package called “Sizers”.

https://github.com/CommunityToolkit/Windows/releases

For UWP/WinUI2 projects, you should install the CommunityToolkit.Uwp.Controls.Sizers package to get GridSplitter and related sizer controls like ContentSizer and PropertySizer.

https://www.nuget.org/packages/CommunityToolkit.Uwp.Controls.Sizers/

For WinUI3 (Windows App SDK) projects, the equivalent package is CommunityToolkit.WinUI.Controls.Sizers.

https://www.nuget.org/packages/CommunityToolkit.WinUI.Controls.Sizers/

Once you add the Sizers package, you can use the updated GridSplitter control (in the CommunityToolkit.WinUI.Controls namespace) in your XAML, and it will behave similarly - redistributing space between rows or columns in your Grid.

https://learn.microsoft.com/en-us/dotnet/communitytoolkit/windows/sizers/sizercontrols

Hope this helps! If my answer was helpful - kindly follow the instructions here so others with the same problem can benefit as well.

Was this answer helpful?


1 additional answer

Sort by: Most helpful
  1. AI answer

    2026-01-28T15:25:41.86+00:00

    The CommunityToolkit.Uwp.Controls.Primitives package is designed to provide a set of controls and components that are compatible with the Windows UI framework, and it leverages the CommunityToolkit.WinUI.Controls namespace for its implementation. This is part of the transition from the deprecated Microsoft.Toolkit.Uwp.UI.Controls to the newer CommunityToolkit packages, which aim to provide a more unified and modern development experience.

    As for the GridSplitter, it is available in the CommunityToolkit.WinUI.Controls namespace. If you are looking for an equivalent in CommunityToolkit.Uwp.Controls.Primitives, you should still be able to use the GridSplitter from CommunityToolkit.WinUI.Controls, as it serves the same purpose of redistributing space between columns or rows in a Grid control.

    In summary, while the namespaces may differ, the functionality remains consistent across the new toolkit, and you should continue to use GridSplitter from the CommunityToolkit.WinUI.Controls package.

    AI-generated content may be incorrect. Read our transparency notes for more information.

    Was this answer helpful?

Your answer

Answers can be marked as 'Accepted' by the question author and 'Recommended' by moderators, which helps users know the answer solved the author's problem.