Skip to content

Adopt Uno.Sdk tooling on Uno Platform 7.0 - #880

Draft
MartinZikmund wants to merge 6 commits into
CommunityToolkit:mainfrom
MartinZikmund:mzikmund/uno7-sdk
Draft

MartinZikmund wants to merge 6 commits into
CommunityToolkit:mainfrom
MartinZikmund:mzikmund/uno7-sdk

Conversation

@MartinZikmund

@MartinZikmund MartinZikmund commented Oct 9, 2026 •

Copy link
Copy Markdown
Contributor

Moves the toolkit to the Uno.Sdk-based tooling on Uno Platform 7.0 (WinUI 3). This recreates #862 on Uno 7 instead of 6.x.

Important

Draft. It depends on the tooling PR CommunityToolkit/Tooling-Windows-Submodule#317 and on Uno 7 dev builds. The submodule pointer references the tooling branch on a fork and will move to the merged commit.

Changes

  • Adopt Uno.Sdk tooling: a squash of Adopt Uno.Sdk tooling (Uno 6.x) for the WinUI 3 gallery #862 (Uno.Sdk gallery head, linuxgtk → linux, new win32 MultiTarget, CI for the Uno.Sdk head).
  • Uno 7 / .NET 10:
    • global.json: .NET SDK 10.0.401, Uno.Sdk 7.0.0-dev.51, MSBuild.Sdk.Extras 3.0.44.
    • CI: DOTNET_VERSION and net10.0-* TFMs.
    • TabbedCommandBar's MSBuild.Sdk.Extras/3.0.23 pins bumped to 3.0.44.
  • Uno 7 source fixes (one commit each):
    • DependencyObjectExtensions: where T : class, DependencyObject only on Uno 5 (HAS_UNO && WINUI2). DependencyObject is a class in Uno 7, so this was CS0450.
    • CompositionExtensions.InsertExpressionKeyFrame: use the overload without easing when easing is null. Uno 7 annotates the parameter as non-nullable.
    • TokenizingTextBoxAutomationPeer.GetChildrenCore: an #if HAS_UNO && WINUI3 shim for Uno returning List<> instead of IList<>. Fixed upstream in fix(automation): Align ListViewBaseAutomationPeer.GetChildrenCore return type with WinUI unoplatform/uno#25141; drop the shim once that ships.

Validation

  • With the tooling PR, CommunityToolkit.App.Uno builds for net10.0-desktop with 0 errors.
  • The gallery runs on Uno 7 Desktop (Win32): navigation, search and sample pages work, and the sample code viewer is syntax-highlighted via RichTextBlock.
  • For the local run, Uno.Microsoft.Xaml.Behaviors.Interactivity.WinUI was swapped for a local pack of feat: Update to Uno Platform 7.0 unoplatform/Uno.XamlBehaviors#36. The published 3.0.3 is built against Uno 5 and fails to compile in Behaviors/SettingsControls on Uno 7. That swap is not included here.

Remaining before ready

  • Bump Uno.Microsoft.Xaml.Behaviors.Interactivity.WinUI (Behaviors, SettingsControls samples) once Uno.XamlBehaviors#36 is published.
  • Move the submodule to the merged tooling commit.
  • Follow-up: enable RichSuggestBox on Uno once RichEditBox lands in Uno.

🤖 Generated with Claude Code

https://claude.ai/code/session_01E8bkzyS24p8CYDWLUPsaPC

MartinZikmund and others added 6 commits October 9, 2026 12:10
Squashed recreation of CommunityToolkit#862 on current main.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01E8bkzyS24p8CYDWLUPsaPC
Matches the tooling: .NET SDK 10.0.401, Uno.Sdk 7.0.0-dev.51, MSBuild.Sdk.Extras 3.0.44.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01E8bkzyS24p8CYDWLUPsaPC
DependencyObject is a class in Uno 7, so 'class, DependencyObject' fails with CS0450.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01E8bkzyS24p8CYDWLUPsaPC
Uno 7 annotates the parameter as non-nullable. Use the overload without easing instead.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01E8bkzyS24p8CYDWLUPsaPC
Uno returns List<AutomationPeer> instead of WinUI's IList<AutomationPeer>, fixed in unoplatform/uno#25141.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01E8bkzyS24p8CYDWLUPsaPC
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01E8bkzyS24p8CYDWLUPsaPC

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant