Repository navigation
Enable MarkdownTextBlock on Uno Platform 7 - #822
Draft
MartinZikmund wants to merge 21 commits into
Draft
MartinZikmund wants to merge 21 commits into
MartinZikmund wants to merge 21 commits into
Conversation
Points the tooling submodule at the Uno 7 branch and updates global.json (.NET SDK 10.0.401, Uno.Sdk 7.0.0-dev.51, MSBuild.Sdk.Extras 3.0.44). Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01E8bkzyS24p8CYDWLUPsaPC
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01E8bkzyS24p8CYDWLUPsaPC
Uno annotates TextPointer.GetPositionAtOffset as nullable, which fails the build with warnings as errors. Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01E8bkzyS24p8CYDWLUPsaPC
…is a stub Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01E8bkzyS24p8CYDWLUPsaPC
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01E8bkzyS24p8CYDWLUPsaPC
Resolves global.json and tooling: global.json follows the Uno 7 tooling branch (SDK 10.0.402, MSBuild.Sdk.Extras 3.0.44, Uno.Sdk 7.0.0-dev.89), tooling moves to its head (4e83b8a), which already contains main's tooling commit. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01TXMNu1EDpoRrpP3hnDukwz
The Uno 7 tooling renamed linuxgtk to linux and added the win32 desktop target; Filter-Supported-Components rejects the old name, failing every build job. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01TXMNu1EDpoRrpP3hnDukwz
Ports the CommunityToolkit/Windows workflow changes for the Uno 7 tooling: the win32/linux matrix, the Uno.Sdk head on the WinUI 3 wasm job and wasm-linux becoming uno-linux, which builds that head for browserwasm and desktop. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01TXMNu1EDpoRrpP3hnDukwz
Uno 5 generates a partial declaration for every DependencyObject (CS0260). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01TXMNu1EDpoRrpP3hnDukwz
On Uno 5 Android, Android.Widget.TableRow is also in scope (CS0104). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01TXMNu1EDpoRrpP3hnDukwz
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01TXMNu1EDpoRrpP3hnDukwz
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01TXMNu1EDpoRrpP3hnDukwz
1.33.1 installs Microsoft.Android.Sdk 36.1.2, under which the .NET 10.0.403 SDK adds the host RID to the Android head's RuntimeIdentifiers and restore looks for Microsoft.NETCore.App.Runtime.Mono.win-x64 (NU1102). Matches the Windows and tooling repos. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01TXMNu1EDpoRrpP3hnDukwz
The ApiInformation probe names Windows.UI.Xaml.UIElement, which isn't trim-safe on Uno 7 (IL2122) and returns false on WinUI 3, so every WinUI 3 target fell back to the obsolete FocusManager.GetFocusedElement() (CS0618). XamlRoot always exists on WinUI 3, matching ApiInformationHelper in CommunityToolkit/Windows. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01TXMNu1EDpoRrpP3hnDukwz
uno-check leaves Microsoft.Android.Sdk 36.1.2 selected, where the .NET 10.0.403 SDK adds the host RID to the Uno 7 Android head and restore fails on Microsoft.NETCore.App.Runtime.Mono.win-x64 (NU1102). 36.1.118 doesn't. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01TXMNu1EDpoRrpP3hnDukwz
ImplicitUsings pulls Android.App and Android.Widget into the Android builds, whose Application, Orientation and TableRow clash with the XAML and Markdig types (CS0104). Replaces the per-file TableRow alias. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01TXMNu1EDpoRrpP3hnDukwz
On Uno 5 Android the sample pages are ViewGroups, whose Debug(int) method hides System.Diagnostics.Debug (CS0119). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01TXMNu1EDpoRrpP3hnDukwz
uno-check already installs it, so install was a no-op; update moves the manifest past 36.1.2. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01TXMNu1EDpoRrpP3hnDukwz
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01TXMNu1EDpoRrpP3hnDukwz
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01TXMNu1EDpoRrpP3hnDukwz
MartinZikmund
force-pushed
the
mzikmund/mtb-uno7
branch
from
November 4, 2026 00:14
778bfcd to
e953a3e
Compare
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01TXMNtyvCafb6Ej7cqotkAC
This branch has not been deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Enables
MarkdownTextBlockon Uno Platform 7.0 (WinUI 3 flavor):wasm;win32;linux;macos;ios;androidin addition to the existinguwp;wasdk. Uno 7 now ports WinUI'sRichTextBlock, which the control is built on.Changes
chore:toolingsubmodule now points at the Uno 7 tooling branch (MartinZikmund/Tooling-Windows-Submodulemzikmund/uno7-sdk,14c2f75); rootglobal.jsonadopts .NET SDK 10.0.401, Uno.Sdk 7.0.5, MSBuild.Sdk.Extras 3.0.44. The.gitmodulesURL still points at upstream.feat:MultiTarget.propsenables the Uno targets; the csprojUsinggroups now also apply to Uno builds (Windows.UI.*for WinUI 2,Microsoft.UI.*for WinUI 3).fix: inline code and task-list checkbox offsets useRenderTransformon Uno, sinceUIElement.Transform3Dis a stub there (inline code rendered raised).fix:TextPointer.GetPositionAtOffsetis annotated nullable in Uno, so thenextlocals inExtensions.csare nowTextPointer?(aCS8600error under warnings-as-errors). Compatible with UWP/WinAppSDK.No
#ifwas needed:DefaultSVGRenderer(SvgImageSource) andImageProvidercompile as-is on Uno 7.Depends on the tooling PR CommunityToolkit/Tooling-Windows-Submodule#317 (the submodule pin is
843a88a, the tooling PR branch head). Until it merges, the submodule SHA only exists on the fork.Validation
dotnet build -f net10.0of the src project: Build succeeded.dotnet pack -p:PackageVersion=0.1.0-local.uno7:CommunityToolkit.Labs.WinUI.Controls.MarkdownTextBlock, haslib/net10.0and depends onUno.WinUI 7.0.0-dev.1656(WinAppSDK TFMs packed as well).net10.0-desktop(Win32/Skia) gallery at 240 DPI. Custom Theme, Full Example (headings, links, italic/bold, block quotes, code, switches) render correctly, including inline code with padding/border and mouse-wheel scrolling.Caveat: building the head locally needed Uno 7 builds of
CommunityToolkit.WinUI.{Converters,Extensions,Helpers,Triggers,Controls.SettingsControls}andUno.Microsoft.Xaml.Behaviors.Interactivity.WinUI(unoplatform/Uno.XamlBehaviors#36); released packages still pull Uno 5.x. The tooling head references them, so CI needs those published first. Not tested: SVG images, wasm/mobile heads, Live Editor tab.🤖 Generated with Claude Code
https://claude.ai/code/session_01E8bkzyS24p8CYDWLUPsaPC