Skip to main content

uno-navigation-responsive-shell

Implement responsive navigation shells that adapt between TabBar and NavigationView based on screen size. Provides complete, compilable shell template with VisualStateManager breakpoints.

Ir a la instalación

Datos de origen

Repositorio
unoplatform/studio
Última actividad en el origen
9 de junio de 2026 a las 19:39
Idioma detectado de SKILL.md
inglés
Estrellas
10
Forks
1

Opciones de instalación

De forma predeterminada está seleccionado el prompt que primero revisa el origen. Puedes cambiar a un comando directo o descargar una copia local.

Revisa los archivos de origen

Lee SKILL.md y los archivos complementarios que muestra SkillsMP antes de decidir si quieres instalarlo.

Explorador de archivos
2 archivos

Mostrando SKILL.md

SKILL.md
Instrucciones de origen · Vista previa de solo lectura
name
uno-navigation-responsive-shell
description
Implement responsive navigation shells that adapt between TabBar and NavigationView based on screen size. Provides complete, compilable shell template with VisualStateManager breakpoints.
when_to_use
Use when an app must work well on both mobile and desktop, upgrading a single-form-factor shell to responsive, or switching between `TabBar` on mobile and `NavigationView` on desktop via `VisualStateManager` or `ResponsiveExtension`.
metadata
{"author":"uno-platform","version":"3.5","category":"navigation"}
# Uno Navigation Responsive Shell — Agent Skill ## Reference Templates For a complete, compilable responsive shell XAML with parameterized placeholders, see: **`references/shell-responsive-template.md`** — Contains: - Icon lookup table (Home, Search, Settings, Profile, etc.) - SHELL_PAGE_NAME.xaml responsive shell template (NavigationView + TabBar + VisualStateManager) - Breakpoint summary table (Narrow / Normal / Wide) - Route registration template - Substitution rules ## 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 Responsive Shell Documentation ``` uno_platform_docs_search("Uno Navigation responsive shell NavigationView TabBar adaptive screen size") ``` Primary documentation page: - **Build Responsive Navigation Layouts**: `external/uno.extensions/doc/Learn/Navigation/Walkthrough/ResponsiveShell.md` Fetch the walkthrough: ``` uno_platform_docs_fetch(sourcePath="external/uno.extensions/doc/Learn/Navigation/Walkthrough/ResponsiveShell.md") ``` ### Step 2: For ResponsiveExtension If using the Toolkit's `ResponsiveExtension`: ``` uno_platform_docs_search("Uno Toolkit responsive extension screen size breakpoints") ``` See also the `uno-toolkit-responsive` skill. ## Key Principles (Stable) - Use VisualStateManager with adaptive triggers to show/hide different navigation controls - Both TabBar and NavigationView can use the same region names for shared content - `ResponsiveExtension` can toggle Visibility based on breakpoints (Normal, Wide, etc.) - The content area remains the same — only the navigation control changes - Common pattern: TabBar at bottom for mobile, NavigationView sidebar for desktop - XAML namespaces: `xmlns:uen="using:Uno.Extensions.Navigation.UI"` and `xmlns:utu="using:Uno.Toolkit.UI"` ## Breakpoint Summary | State | Width | TabBar | NavigationView Pane | Use Case | |---|---|---|---|---| | Narrow | < 700px | Visible | Hidden | Mobile phones | | Normal | 700-999px | Hidden | Visible (auto) | Tablets | | Wide | >= 1000px | Hidden | Visible (expanded) | Desktops | ## Critical Rules - Both navigation controls (`NavigationView` and `TabBar`) MUST have `uen:Region.Attached="True"` - Both MUST use identical `uen:Region.Name` values for the same pages — they share the content area - The `VisualStateManager` goes on the root `Grid` with `uen:Region.Attached="True"` - The `Narrow` state has NO `StateTriggers` — it is the default (smallest) state - States are ordered by ascending width: Narrow (default) < Normal (700px) < Wide (1000px) - The shared content area with `Region.Navigator="Visibility"` serves both navigation controls - **The content area Grid with `Region.Navigator="Visibility"` must be empty in XAML.** Do not add `Collapsed` child elements for each route. The navigation framework resolves registered routes and injects the corresponding views at runtime. - Do NOT use `Region.Attached="True"` inside `Shell.xaml` — only in `SHELL_PAGE_NAME.xaml` ## Related Skills - [[uno-navigation-tabbar]] — Mobile-only shell - [[uno-navigation-navigationview]] — Desktop-only shell - [[uno-navigation-panel-visibility]] — Visibility-based content switching details - [[uno-toolkit-responsive]] — Responsive markup extensions - [[uno-navigation-regions]] — Region concepts
Ver en GitHub