Desenvolvimento - Mobile
Entendendo a navegação entre páginas no Windows Phone 7
Veja neste artigo funciona o esquema de navegação entre páginas em uma aplicação para Windows Phone 7
por Joel RodriguesDiferente das aplicações Windows Forms e Windows Mobile, no Windows Phone 7 não existem formulários. O esquema se assemelha mais ao ASP.NET com páginas pelas quais o usuário navega. Se considerarmos que as aplicações para Windows Phone são desenvolvidas em Silverlight, esse fato não é estranho.
Um dos principais recursos deste tipo de navegação é o QueryString que, assim como nas aplicações web, nos permite passar parâmetros entre páginas no momento da “chamada”.
Neste contexto, podemos definir alguns elementos de extrema importância e que são a chave para a navegação entre páginas de uma aplicação.
Uri (Uniform Resource Identifier)
Esta classe representa o endereço das páginas na aplicação e sua estrutura é igual a utilizada no ASP.NET. O Uri pode ser do tipo “Absolute”(um endereço simples de página) ou “Relative”(endereço com parâmetros). Abaixo vemos um exemplo de inicialização de um identificador para uma página com parâmetros.
Listagem 1: Inicializando um objeto Uri
Uri uri = new Uri("/paginaConsultaCliente.xaml?codigo=123", UriKind.Relative);
NavigationService
Este objeto, que é uma instância da classe homônima, é responsável por gerenciar a navegação entre páginas. Através dele pode-se direcionar o usuário para a página anterior (GoBack), para a próxima (GoForward), para um endereço específico (Navigate), além de ser possível utilizar outros de seus recursos como ver o histórico de navegação do usuário (dentro do programa). Na Listagem 2 temos um exemplo de navegação.
Como já foi dito, o NavigationServive é um objeto, o qual pertence à página, não sendo necessário instanciá-lo.
Listagem 2: Navegando para uma página
Uri uri = new Uri("/paginaConsultaCliente.xaml?codigo=123", UriKind.Relative); NavigationService.Navigate(uri);
NavigationContext
Trata-se também de um objeto da classe de mesmo nome e que pertence a cada página. Dele, a propriedade que mais nos interessa é a QueryString a qual, como já foi dito, armazena informações referentes a parâmetros passados durante a navegação.
O QueryString é do tipo IDicionary logo, armazena suas informações como CHAVES e VALORES, os quais podem ser acessados individualmente através das propriedades Key e Values, respectivamente.
Na Listagem 2, foi feita a navegação para a página “paginaConsultaClientes.xaml”, passando o parâmetro “código” de valor “123”. Supondo agora que desejássemos obter o valor deste parâmetro já na página destino, poderíamos usar no evento onLoaded, por exemplo, um código semelhante ao da Listagem 3 logo abaixo.
Listagem 3: Acessando parâmetro através do QueryString
string codigo = NavigationContext.QueryString["codigo"];
Para quem já teve alguma experiência com ASP.NET, não terá muita dificuldade em entender o esquema de navegação do Windows Phone 7 e mesmo quem nunca utilizou nada semelhante, pôde ver aqui o quão simples é para direcionar o usuário para uma “tela” da aplicação.
Então é isso, ficamos por aqui com mais este artigo sobre Windows Phone 7. Espero que tenham gostado e lembro que comentários são bem vindos.
Agradeço a atenção do leitor e até a próxima!
- Inserindo, editando e lendo dados no Windows Phone com IsolatedStorageSettingsDisp. móveis
- Introdução ao jQuery MobileJavascript
- Windows Phone 7 – Alterando o Splash ScreenDisp. móveis
- 1º Adobe Camp Brasil ContestDisp. móveis
- iPhone: MiniBrowser com WebViewsDisp. móveis