- name
- uno-navigation-regions
- description
- Implement region-based navigation in Uno Platform using Region.Attached, Region.Name, and Region.Navigator properties.
- when_to_use
- Use when defining navigation regions within a page, linking a TabBar, NavigationView, or other control to a content area, visibility-based content switching within regions, building navigation hierarchies with nested regions, or using `Region.Attached`, `Region.Name`, and `Region.Navigator`.
- metadata
- {"author":"uno-platform","version":"2.3","category":"navigation"}
# Uno Navigation Regions — Agent Skill
## Workflow
> **Docs lookup:** call `uno_platform_docs_search(...)` first, then `uno_platform_docs_fetch(sourcePath="…")` using the `sourcePath` field from a result (a relative `.md` path; add the result's `anchor` for a section). Never pass a URL, a `.html` link, or a hand-built path.
### Step 1: Fetch the Regions Documentation
```
uno_platform_docs_search("Uno Navigation regions Region.Attached Region.Name navigator")
```
Primary documentation pages:
- **Define Regions Walkthrough**: `external/uno.extensions/doc/Learn/Navigation/Walkthrough/DefineRegions.md`
- **How-To: Define Regions**: `external/uno.extensions/doc/Learn/Navigation/HowTo-Regions.md`
- **Navigation Region Reference**: `external/uno.extensions/doc/Reference/Navigation/NavigationRegion.md`
Fetch the walkthrough:
```
uno_platform_docs_fetch(sourcePath="external/uno.extensions/doc/Learn/Navigation/Walkthrough/DefineRegions.md")
```
### Step 2: For Common Pitfalls
Fetch the how-to page for important warnings:
```
uno_platform_docs_fetch(sourcePath="external/uno.extensions/doc/Learn/Navigation/HowTo-Regions.md")
```
Critical warning: Do NOT use `Region.Attached="True"` inside Shell.xaml or ExtendedSplashScreen content.
### Step 3: For NavigationView with Regions
The walkthrough includes a section on "Using Regions with NavigationView".
### Step 4: For Visibility-Based Navigation
If the user needs visibility-based content switching:
See the `uno-navigation-panel-visibility` skill.
## Key Principles (Stable)
- `uen:Region.Attached="True"` — enables region-based navigation on a container
- `uen:Region.Name="RouteName"` — identifies which route this region represents
- `uen:Region.Navigator="Visibility"` — switches content by toggling visibility
- **CRITICAL**: Never use `Region.Attached="True"` inside Shell.xaml content — the navigation host isn't ready yet
- Regions mirror the navigation control hierarchy
- Navigation controls (TabBar, NavigationView) and content areas must share a common parent with `Region.Attached="True"`
## Related Skills
- [[uno-navigation-setup]] — Navigation host configuration
- [[uno-navigation-panel-visibility]] — Visibility-based navigation
- [[uno-navigation-navigationview]] — NavigationView with regions
- [[uno-navigation-tabbar]] — TabBar with regions
Voir sur GitHub