Introdução

O Windows Phone 7 é um sistema operacional para smartphones da Microsoft que vem ganhando mercado rapidamente, inclusive no Brasil. Por este motivo, é de extrema importância que os programadores, que se interessem por desenvolver aplicativos para esse sistema operacional, estejam aptos a implementarem as várias funcionalidades comuns a “todos” os smartphones, antes de partirem para recursos mais avançados.

Uma dessas funcionalidades é o scroll em menus, formulários e outros tipos de telas comumente encontradas nos aplicativos. Considerando que a tela de um smartphone é fisicamente “resumida”, às vezes é necessário habilitar a opção de scroll para que o usuário possa visualizar todos os elementos da página.

Nesse artigo será mostrado como fazer esse tratamento para que o scroll seja habilitado, usando como exemplo um menu com várias opções dispostas verticalmente.

Aqui será utilizado o Microsoft Expression Blend 4, mas para esse fim o Visual Studio 2010 também pode ser igualmente aplicado.

Habilitando o scroll

O exemplo a seguir apresenta um menu, composto por vários botões dispostos verticalmente, que ultrapassa a área padrão da página, não sendo possível acessar diretamente os últimos itens.

Para simular essa situação, crie uma aplicação para Windows Phone 7 no IDE escolhido e substitua o código XAML da página principal pelo código da listagem a seguir.

Listagem 1: Página com menu extenso sem scroll



	
	
		
			
			
		

		
		
			
			
		

		
					
				
					
					
					
					
					
					
					
					
					
					
				
		
	

Compilando o projeto e visualizando-o no Windows Phone Emulator, o resultado é o seguinte.

Menu com alguns itens inacessíveis

Figura 1: Menu com alguns itens inacessíveis

Vemos que os itens 9 e 10 não podem ser acessados, pois não é possível “deslocar” a página para cima (scroll) com o cursor do mouse e, consequentemente, utilizando o recurso de touch screen do aparelho físico. A solução para corrigir esse problema é consideravelmente simples, basta adicionar um componente ScrollViewer e dentro dele colocar o menu. Substitua agora o código da página principal pelo apresentado a seguir.

Listagem 2: Página com menu extenso com scroll



	
	
		
			
			
		

		
		
			
			
		

		
					
			
				
					
					
					
					
					
					
					
					
					
					
				
			
		
	

Agora o resultado é o que precisamos, conforme mostra a Figura 2, é possível “rolar” a tela verticalmente para acessar todos os botões do menu.

Menu com todos os itens acessíveis a partir do scroll

Figura 2: Menu com todos os itens acessíveis a partir do scroll

Como vimos, uma implementação tão importante pôde ser feita através de um código tão simples. Bastou adicionar um ScrollViewer para ser usado como container da região que precisará do scroll e definir sua propriedade HorizontalScrollBarVisibility como Visible. O mesmo conceito pode ser aplicado para scroll horizontal, basta definir a propriedade VerticalScrollBarVisibility como Visible. Vale ainda observar que as duas propriedades podem ser usadas em conjunto, habilitando o scroll tanto vertical quanto horizontalmente.

Então, finalizamos assim esse breve artigo que buscou apresentar um recurso bastante simples, porém muito útil e necessário para o desenvolvimento de aplicações móveis para Windows Phone 7.

Até a próxima.