Curso Windows Phone – Adicionar controles na interface em tempo de execução

legoOlá pessoal, tudo bom?

Quem nunca passou pela situação de não conseguir prever quantos controles de tela de um determinado tipo serão necessários para apresentar ou compor o layout de uma APP? Geralmente, nesses casos, temos dados sendo gerados ou recebidos dinamicamente através de webservices ou mesmo via consultas REST retornando JSON.

Pensando nessa situação, resolvi escrever esse post para tratar justamente do assunto “Como criar controles XAML via código em C# e adiciona-los na interface da APP”.

Em primeiro lugar temos que ter em mente que esses controles ao serem criados dinamicamente deverão ser inseridos dentro de algum container previamente existente na APP, como por exemplo, um StackPanel, Grid, etc. Sabendo disso, basta criar os elementos dentro de algum método/ação do seu código C# e ir posicionando-os, ou melhor, inserindo-os no container desejado.

Para exemplificar melhor, observe o código C# abaixo:

...
...
//Considere que a variável "membros" abaixo é o resultado de uma consulta a um arquivo XML
var membros = e.Result.Descendants("membros").Elements("membro").ToList();
for (int i = 0; i < membros.Count; i++)
{
  TextBlock txt = new TextBlock(); //Elemento XAML sendo criado via C#
  txt.Text = string.Format("» {0} - {1} - {2} - ({3})",
             membros[i].Element("nome").Value.Trim(),
             membros[i].Element("partido").Value.Trim(),
             membros[i].Element("uf").Value.Trim(),
             membros[i].Element("situacao").Value.Trim());
  txt.Width = 450;
  txt.TextWrapping = TextWrapping.Wrap;
  //ContentPanel seria o nome de um elemento do tipo StackPanel, 
  //sendo assim, estamos adicionando vários TextBlocks como "filhos"
  //do StackPanel (container)
  ContentPanel.Children.Add(txt);
}
...
...

Viram como é simples?

Post Relacionado: 

Grande abraço,
Eduardo Henrique Rizo

Anúncios

Coordenador de Internet da Universidade do Oeste Paulista (Unoeste) e professor universitário de disciplinas relacionadas ao desenvolvimento de sistemas para Web, gerenciamento de servidores, serviços e redes.

Marcado com: , , , , , , , , , , , , , , , , ,
Publicado em Windows Phone
Um comentário em “Curso Windows Phone – Adicionar controles na interface em tempo de execução
  1. […] Adicionar controles na interface em tempo de execução […]

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s

Sorocaba e Região
Prestadora de serviços RIZZO GS - Sorocaba/SP

Serviços de limpeza, conservação, recepção, copa, portaria, vigia, zeladoria, jardim, elétrica, hidráulica, pintura, etc.

Contato: (15) 3357-4263 / (15) 3357-4502 - contato@rizzogs.com.br

Website: http://www.rizzogs.com.br

%d blogueiros gostam disto: