Skip to content

.NET 11 RC 1: document control and handler updates - #3501

Open
davidortinau wants to merge 1 commit into
dotnet:mainfrom
davidortinau:davidortinau-rc1-controls-handlers-docs
Open

.NET 11 RC 1: document control and handler updates#3501
davidortinau wants to merge 1 commit into
dotnet:mainfrom
davidortinau:davidortinau-rc1-controls-handlers-docs

Conversation

@davidortinau

@davidortinau davidortinau commented Sep 2, 2026

Copy link
Copy Markdown
Contributor

Summary

  • Document TabbedPage badges, runtime updates, and platform behavior.
  • Document SwipeItem.IconColor and SwipeItem.TextColor, including the .NET 11 icon-color behavior change and platform limits.
  • Document the iOS and Mac Catalyst FlyoutViewHandler default and compatibility renderer migration path.
  • Correct the .NET 11 FlyoutPage handler table entry.

Migration guidance

Apps with custom PhoneFlyoutPageRenderer subclasses must register the compatibility renderer explicitly while they migrate to FlyoutViewHandler. Existing content for .NET 10 and earlier is unchanged.

This PR does not change the Shell badge files in #3359. It is independent of the other RC 1 documentation work.

Validation

  • Targeted markdownlint-cli2: 0 issues in 5 files.
  • git diff --check: passed.
  • Factual review against the merged MAUI implementation PRs and the current net11.0 API: no findings.

Sources


Internal previews

File Preview link
docs/migration/custom-renderers.md Learn preview
docs/user-interface/controls/swipeview.md Learn preview
docs/user-interface/handlers/index.md Learn preview
docs/user-interface/pages/flyoutpage.md Learn preview
docs/user-interface/pages/tabbedpage.md Learn preview

Build report

Document TabbedPage badges, SwipeItem color APIs, and the FlyoutPage handler migration for iOS and Mac Catalyst.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Copilot AI lite review requested due to automatic review settings September 2, 2026 20:05
@davidortinau
davidortinau requested a review from a team as a code owner September 2, 2026 20:05
@learn-build-service-prod

Copy link
Copy Markdown
Contributor

PoliCheck Scan Report

The following report lists PoliCheck issues in PR files. Before you merge the PR, you must fix all severity-1 and severity-2 issues. The AI Review Details column lists suggestions for either removing or replacing the terms. If you find a false positive result, mention it in a PR comment and include this text: #policheck-false-positive. This feedback helps reduce false positives in future scans.

✅ No issues found

More information about PoliCheck

Information: PoliCheck | Severity Guidance | Term
For any questions: Try searching the learn.microsoft.com contributor guides or post your question in the Learn support channel.

@learn-build-service-prod

Copy link
Copy Markdown
Contributor

Learn Build status updates of commit a60b597:

✅ Validation status: passed

File Status Preview URL Details
docs/migration/custom-renderers.md ✅Succeeded View (>=net-maui-8.0)
docs/user-interface/controls/swipeview.md ✅Succeeded View (>=net-maui-8.0)
docs/user-interface/handlers/index.md ✅Succeeded View (>=net-maui-8.0)
docs/user-interface/pages/flyoutpage.md ✅Succeeded View (>=net-maui-8.0)
docs/user-interface/pages/tabbedpage.md ✅Succeeded View (>=net-maui-8.0)

For more details, please refer to the build report.

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot review overview

🟡 Changes recommended

A new platform behavior note is internally inconsistent and there’s a small grammar issue in updated migration guidance that should be corrected before merge.

Once you've addressed the issues Copilot identified, you can request another Copilot review.

Review tier: Lite
Findings: 2 Low severity

New issues introduced by this change (2)
Severity Finding
Low severity docs/​migration/​custom-renderers.md — The paragraph explaining renderer registration has a couple grammar issues ("method" should be…
Low severity docs/​user-interface/​pages/​tabbedpage.md — The iOS/Mac Catalyst bullet is internally inconsistent: it says the system tab bar can retain…
What changed in this PR

Updates .NET MAUI documentation for .NET 11 RC 1 by adding new control guidance (TabbedPage badges, SwipeItem color properties) and documenting the iOS/Mac Catalyst FlyoutPage handler default + migration path, with a corresponding handler table correction.

Changes:

  • Add .NET 11+ docs for TabbedPage tab badges, including runtime update guidance and platform-specific behavior notes.
  • Add .NET 11+ docs for SwipeItem.IconColor / SwipeItem.TextColor, including behavior differences vs .NET 10 and platform limitations.
  • Document the iOS/Mac Catalyst FlyoutPage default handler change and compatibility renderer migration/registration guidance, and correct the .NET 11 handler table entry.
File Description
docs/​user-interface/​pages/​tabbedpage.md Adds .NET 11+ tab badge documentation and platform behavior notes.
docs/​user-interface/​pages/​flyoutpage.md Documents iOS/Mac Catalyst default handler change and migration guidance for custom PhoneFlyoutPageRenderer usage.
docs/​user-interface/​handlers/​index.md Fixes the .NET 11 handler table entry for FlyoutPage on iOS/Mac Catalyst.
docs/​user-interface/​controls/​swipeview.md Adds .NET 11+ SwipeItem icon/text color properties and platform behavior notes.
docs/​migration/​custom-renderers.md Adds FlyoutPage renderer migration guidance and updates compatibility renderer registration details.

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

Comment on lines 89 to +92
The renderers are registered with the <xref:Microsoft.Maui.Hosting.HandlerMauiAppBuilderExtensions.ConfigureMauiHandlers%2A> and <xref:Microsoft.Maui.Hosting.MauiHandlersCollectionExtensions.AddHandler%2A> method. This first argument to the <xref:Microsoft.Maui.Hosting.MauiHandlersCollectionExtensions.AddHandler%2A> method is the cross-platform control type, with the second argument being its renderer type.

> [!IMPORTANT]
> Only renderers that derive from `FrameRenderer`, `ListViewRenderer`, `NavigationRenderer` on iOS, `ShellRenderer` on iOS and Android, `TabbedRenderer` on iOS, `TableViewRenderer`, and `VisualElementRenderer` can be registered with the <xref:Microsoft.Maui.Hosting.MauiHandlersCollectionExtensions.AddHandler%2A> method.
> Only renderers that derive from `FrameRenderer`, `ListViewRenderer`, `NavigationRenderer` on iOS, `PhoneFlyoutPageRenderer` on iOS and Mac Catalyst, `ShellRenderer` on iOS and Android, `TabbedRenderer` on iOS, `TableViewRenderer`, and `VisualElementRenderer` can be registered with the <xref:Microsoft.Maui.Hosting.MauiHandlersCollectionExtensions.AddHandler%2A> method.
Comment on lines +157 to +159
- **Android** uses the Material Design badge APIs for top and bottom tabs. Numeric and text badges are supported. When bottom tabs use the **More** overflow item, badges aren't displayed on the **More** item or on pages in the overflow list.
- **iOS and Mac Catalyst** use `UITabBarItem.BadgeValue`, `BadgeColor`, and `SetBadgeTextAttributes`. On iOS 18 and Mac Catalyst 18 or later, the system tab bar can retain custom badge colors but display the system red background and white text instead.
- **Windows** uses the WinUI `InfoBadge` control. Numeric badge text displays as a count. Non-numeric text and an empty string display as a dot. When badge colors aren't set, the native theme defaults are used.
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.

2 participants