-
Notifications
You must be signed in to change notification settings - Fork 1.4k
Description
Describe the problem this feature would solve
We have some great icon based Markup Extensions in the Toolkit. However, they only work for System XAML controls as WinUI 2.x has their own fork of the base IconSource type elements. This means they can't mix and match. π
Describe the solution
We need to move things to WinUI 3 specific versions eventually, so what we should do is copy these implementations ahead of time in the new CommunityToolkit namespace specific for WinUI 2.x + 3. In this way we support both options where needed based on either xmlns:ui="using:Microsoft.Toolkit.Uwp.UI" or xmlns:ui="using:CommunityToolkit.WinUI.UI" (finally realizing this is a weird namespace... π€¦ββοΈ).
This way devs upgrading to WinUI 3 for this don't have to change a thing for WinUI 2 usages and only update the System based ones. Since a WinUI 3 dev wouldn't be using the UWP package, there should be no conflict/issue with including the separate new CommunityToolkit based namespace implementation in the UWP package (even if it is a bit out of place).
Describe alternatives you've considered
We could just ship alternate named ones for either WinUI or make the current ones WinUI based and ship different names System ones, but the latter involves a break that a dev needs to be aware of, and in both cases it still involves a breaking namespace change with the move to WinUI 3.
With the proposed solution above, the existing namespace change with migration to WinUI 3 for existing system base usages remain, but then we support WinUI 2 based usages with no breaking change to WinUI 3 in the future.
Metadata
Metadata
Assignees
Labels
Type
Projects
Status