
Maui Safe Area
If you're hitting .NET 10 and your Android content suddenly bleeds behind the status bar, this is why: the new SafeAreaEdges property replaced the old iOS-only UseSafeArea API and changed ContentPage's default to edge-to-edge on all platforms. The skill covers the SafeAreaRegions flags (Container for system bars, SoftInput for keyboard), per-edge control, and migration patterns for chat UIs, immersive layouts, and mixed designs where your header goes full-bleed but your form stays safe. It's focused on .NET 10 plus only. If you're still on .NET 9, you'll need the legacy properties instead.
- skills.sh installs
- 3.9K
- GitHub stars
- 5.9K
- last updated
- Aug 21, 2026
Install
$ npx -y skills add dotnet/skills --skill maui-safe-area --agent claude-codeInstalls into .claude/skills of the current project.
Files
Safe Area & Edge-to-Edge Layout (.NET 10+)
.NET 10 introduces a brand-new, cross-platform safe area API that replaces the legacy iOS-only UseSafeArea and the layout-level IgnoreSafeArea properties. The new SafeAreaEdges property and SafeAreaRegions flags enum give you per-edge, per-control safe area management on Android, iOS, and Mac Catalyst from a single API surface.
This is new API surface in .NET 10. If the project targets .NET 9 or earlier, these APIs do not exist. Guide the developer to the legacy
ios:Page.UseSafeAreaandLayout.IgnoreSafeAreaproperties instead.
When to Use
- Content overlaps status bar, notch, Dynamic Island, or home indicator after upgrading to .NET 10
- Implementing edge-to-edge / immersive layouts (photo viewers, video players, maps)
- Keyboard avoidance for chat or form UIs
- Migrating from
ios:Page.UseSafeArea,Layout.IgnoreSafeArea, orWindowSoftInputModeAdjust.Resize - Blazor Hybrid apps that need CSS
env(safe-area-inset-*)coordination - Mixed layouts with an edge-to-edge header but a safe-area-respecting body
When Not to Use
Sponsors
Details
- Repository
- github.com/dotnet/skills
- Categories
- Frontend Development, Backend & APIs, Mobile Development, Design & UI/UX, CLI & Terminal, .NET & C#
- First seen
- Jun 3, 2026
More from dotnet/skills
All 102- Configure Auth3.9K
- System Text Json Net113.8K
- Apple Crash Symbolication3.8K
- Find Untested Sources3.8K
- Grade Tests3.8K
- Fetch And Send Data3.8K
- Author Component3.8K
- Create Blazor Project3.8K
- Property Patterns3.8K
- Collect User Input3.7K
- Coordinate Components3.7K
- Plan Ui Change3.7K
- Item Management3.7K
- Extension Points3.7K
- Use Js Interop3.7K
- Convert Blazor Server To Webapp3.7K
- Target Authoring3.7K
- Support Prerendering3.7K
- Setup Local Sdk3.7K
- Migrate Xunit To Mstest3.6K
- Template Comparison3.5K
- Create Datadriven Aspnetcore3.5K
- Copy To Output Directory3.5K
- Configuring Opentelemetry Dotnet3.4K