Vamos fazer um cliente de Twitter??? Vamos! Ebaaa... Ok ok, comemoracoes a parte vamos iniciar. A ideia aqui e usar a API do Twitter, fazendo simples requisicoes web, e aproveitar o potencial do XAML, a linguagem de interface por tras do Silverlight (inclusive do Windows Phone) e do WPF. Entao crie uma aplicacao utilizando uma dessas tecnologias chamada de MeuClienteDeTwitter. No exemplo foi utilizado WPF. Nossa UI ficara da seguinte maneira: No .xaml principal/inicial (no caso do WPF o MainWindow.xaml), desenhe uma tela, arrastando os controles da Toolbox para a tela, com os seguintes controles: TextBlock: Ao topo servindo de titulo para a aplicacao. Altere a propriedade Text (para definir o valor do mesmo) e as propriedades de fonte, para deixar esse texto mais destacado. Esse controle funciona como uma Label do ASP.NET ou Windows Forms. TextBox: Caixa de texto editavel. Defina o nome dela como txtUsuario, acompanhe na imagem a seguir: Button: Botao para fazer a requisicao e listar os tweets do usuario informado. Defina seu nome como btnCarregar. ListBox: Lista de itens. Montaremos um layout para os itens que listaremos. Por hora nomeie-o como lstConteudo, e deixe seu fundo transparente, como na imagem abaixo: Curiosidade: O controle Label existe tanto no WPF como no Silverlight. Mas ele e um ContentControl, o que significa que ele pode conter qualquer coisa dentro delae nao ficando limitado somente a texto puro e simples. Podemos adicionar um video e imagem dentro da mesma Label, por exemplo. Como nesse exemplo queremos apenas texto para o titulo, optei pelo TextBlock. Uma coisa importante quando definimos layout de telas com XAML e ficar atento ao painel de layout. Pois todos os controles sao aninhados e organizados em um ou mais paineis. Ha varios paineis, cada um com uma forma de organizar o layout diferente. Nesse caso, todos esses controles ficam dentro de uma Grid. Essa Grid nao tem nada haver com as conhecidas DataGrids, que montam tabelas com linhas e colunas proveniente de uma colecao de dados. A Grid do XAML e um painel que se orienta por distancia das margens. Por exemplo: se colocarmos um botao em uma Grid, e definirmos ele com uma margem de 20 pixels na esquerda e 20 pixels na direita, nao interessa o tamanho da janela ou o quanto ela for redimensionada, o controle se adaptara para manter a distancia das margens, sempre em 20 pixels proximo as bordas laterais. A Grid pode ser dividida, criando bordas internas. Nesse exemplo, foi definida uma borda logo abaixo do botao e do campo de texto, para separar a ListBox dos demais controles. Assim, apos colocar a ListBox na parte inferior, defini as margens dela como zero para todos os lados, logo ela acompanhara o tamanho da janela tanto em largura como em altura. Bem, o intuito aqui nao e ficar discutindo sobre esses paineis, em outra oportunidade eu falo mais dos mesmos. Vejamos como ficou o XAML entao: <Window x:Class="MeuClienteDeTwitter.MainWindow" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" Title="MainWindow" Height="484" Width="385"> <!--Definindo o fundo em gradiente da janela--> <Window.Background> <LinearGradientBrush EndPoint="1,0.5" StartPoint="0,0.5"> <GradientStop Color="LightBlue" Offset="0" /> <GradientStop Color="White" Offset="1"