> For the complete documentation index, see [llms.txt](https://elguerre.gitbook.io/de0an/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://elguerre.gitbook.io/de0an/capitulo-8-la-construccion-proyectos-tareas-y-pomodoros/navegando.md).

# Navegando

Tras haber creado las pantallas de proyectos, tareas y pomodoros, llega el momento de conectarlas entre sí. La navegación es un pilar fundamental en cualquier aplicación UWP: el usuario necesita moverse de forma fluida entre listados y vistas de detalle, pasando parámetros de una página a otra y manteniendo el estado cuando regresa.

En este punto conviene conocer la propiedad *NavigationCacheMode*, que controla si una página se conserva en memoria al navegar fuera de ella. Su valor "Enabled" preserva la página siempre que no se supere el límite de caché del Frame, mientras que "Required" garantiza que la página permanezca en memoria independientemente de dicho límite. Utilizar esta propiedad de forma adecuada evita accesos innecesarios a los recursos y mejora sensiblemente la experiencia del usuario.

La propiedad NavigationCacheMode="Required" a nivel de página evita tener que realizar multitud de accesos a los recursos para la obtención de datos.

{% hint style="info" %}
**Nota**: La propiedad *NavigationCacheMode* con el valor “Required” almacena la página en memoria lo que evita tener que recargar listados y acceder sucesivamente a los mismos recursos cuando éstos no cambian. Su valor “Enabled”, preserva la página en memoria si no se excede el límite de cache del Frame.
{% endhint %}

![](https://240651724-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FfrvHBNivOTy0fVKROgzo%2Fuploads%2Fgit-blob-6441b5262152202e1d9ffc32c0b38a0756f75898%2Fimage34.png?alt=media) ![](https://240651724-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FfrvHBNivOTy0fVKROgzo%2Fuploads%2Fgit-blob-3a3c6f9020394fef52a1d6ddd4bb408b23c58ce4%2Fimage35.png?alt=media) ![](https://240651724-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FfrvHBNivOTy0fVKROgzo%2Fuploads%2Fgit-blob-732bf76f6c980f5566dffbf729b3d0bf09f0325f%2Fimage33.png?alt=media)

**Figura 24.- Navegación desde un proyecto hasta la checklist de una de sus tareas**

Resumimos a continuación los puntos más importantes a modo de Checklist para recordar lo aprendido. De la misma manera, un listado de las referencias más importantes y usuales nos ayudarán a extender y profundizar en ese aprendizaje.

**Tabla 05.- Checklist sobre la puesta en marcha**

| La Checklist                                                                                                                                                                                                                                        |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   |
| --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| <img src="https://240651724-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FfrvHBNivOTy0fVKROgzo%2Fuploads%2Fgit-blob-eeac6be43a27a98103366b9271063e131e9368ee%2Fchecklist.png?alt=media" alt="Checklist" data-size="original"> | <ol><li><strong>Utilizar NavigationCacheMode para optimizar la carga de páginas</strong></li><li><strong>Implementar la interfaz INavigable en los ViewModels para gestionar el ciclo de vida de la navegación</strong></li><li><strong>Pasar parámetros entre páginas durante la navegación</strong></li><li><strong>Gestionar el estado de las páginas al navegar hacia atrás con GoBack</strong></li><li><strong>Diferenciar entre los valores Enabled y Required de NavigationCacheMode según el escenario</strong></li></ol> |

**Tabla 06.- Referencias sobre la puesta en marcha**

| Las Referencias                                                                                                                                                                                                                                        |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    |
| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| <img src="https://240651724-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FfrvHBNivOTy0fVKROgzo%2Fuploads%2Fgit-blob-263749394d903cb2298b3e876750f66464806d9b%2Freferences.png?alt=media" alt="Referencias" data-size="original"> | <ul><li>Análisis y navegación por el Storage con “IsoStoreSpy”</li></ul><blockquote><p><a href="https://github.com/tupunco/IsoStoreSpy4wp8"><https://github.com/tupunco/IsoStoreSpy4wp8></a></p></blockquote><ul><li><p>SQLite Windows RT y Windows Phone 8.1</p><p><a href="http://sqlite.org/download.html"><http://sqlite.org/download.html></a></p></li><li><p>SQLite Toolbox</p><p><a href="https://marketplace.visualstudio.com/items?itemName=ErikEJ.SQLServerCompactSQLiteToolbox"><https://marketplace.visualstudio.com/items?itemName=ErikEJ.SQLServerCompactSQLiteToolbox></a></p></li><li><p>Directrices para iconos de Segoe UI Symbol</p><p><a href="https://msdn.microsoft.com/es-es/library/windows/apps/jj841126.aspx"><https://msdn.microsoft.com/es-es/library/windows/apps/jj841126.aspx></a></p></li><li><p>Creación y uso de Iconos</p><p>Metro Studio: <a href="http://www.syncfusion.com/downloads/metrostudio"><http://www.syncfusion.com/downloads/metrostudio></a></p><p>TheNoumbProject: <a href="http://thenounproject.com/"><http://thenounproject.com/></a></p></li><li><p>Gestión de la navegación en aplicaciones Universal</p><p><a href="https://msdn.microsoft.com/es-es/library/windows/apps/xaml/hh771188.aspx"><https://msdn.microsoft.com/es-es/library/windows/apps/xaml/hh771188.aspx></a></p></li></ul> |
