Windows Phone CAMP – Vitória

Pessoal,

Venho compartilhar com vocês mais uma excelente oportunidade para a comunidade capixaba ingressar no mundo móvel da Microsoft.

Para se inscrever basta enviar um e-mail para windowsphonevitoria@live.com!

Vejo vocês lá?

1º Circuito de Palestras do MSDev-ES

Visando fomentar o networking e a troca de conhecimentos e experiências entre os participantes da maior comunidade de desenvolvedores do Espírito Santo, venho comunicar que no dia 12 fevereiro, a partir das 9 horas, teremos o primeiro Circuito de Palestras do grupo MSDev-ES.

O evento será composto por 4 palestras no formato 45 + 15 cada, ministradas por membros do MSDev-ES.

Maiores Informações:

 

Programação:

1ª Palestra (09:00 às 10:00):

Social Marketing 2.0
Perguntas frequentes que toda empresa desenvolvedora que quer um aplicativo no facebook deve fazer, os maiores erros cometidos e soluções mais usadas

Palestrante: Rafael Hrasko

2ª Palestra (10:00 às 11:00):

Desenvolvendo Sandboxed Solutions com SharePoint 2010
O Microsoft SharePoint Server 2010 adiciona um novo modelo de deployment chamado de sandboxed solutions. Sandboxed solutions são soluções controladas em formato de pacote que possibilitam aos donos de Farms de SharePoint uma nova maneira de mitigar o risco que códigos customizados possam causar de erros para eles. Nesta palestra, explicaremos o que são sandboxed solutions e demonstraremos como criar sandboxed solutions com o Microsoft Visual Studio 2010 e como implementá-las em Farms de SharePoint.

Palestrantes: Fabriccio Bernardes e Luiz Fernando Rosário

3ª Palestra (11:00 às 12:00):

Como Errar no Desenvolvimento de Software
Um conjunto de dicas sobre o que não fazer em um projeto de software baseado em experiências de projetos passados.

Palestrante: Denis Ferrari

4ª Palestra (12:00 às 13:00):

Case de Sucesso: Implantação do Gerenciamento de Mudanças no Grupo Águia Branca
O objetivo é apresentar a implantação da metodologia de Gestão de Mudanças, no Grupo Águia Branca. Irei apresentar como foi o projeto, as estruturação, as adequações necessárias, além de abordar como hoje a Gestão de Mudanças tem colaborado e sido tratada dentro do Grupo Águia Branca, um dos maiores Grupos empresarias do Brasil.

Palestrante: Vithor da Silva e Silva

Clique na imagem abaixo para fazer sua inscrição:

Vejo você lá?

Recuperando e Editando Valores de Controles ASP.NET com Silverlight

Olá pessoal,

Hoje vou compartilhar com vocês uma técnica muito útil de comunicação entre a aplicação Silverlight e os controles presentes na página ASPX onde esta aplicação está contida.
A idéia central deste tutorial é, basicamente, recuperar e editar o valor de um textbox contido numa página ASPX via Silverlight utilizando as classes HtmlDocument e HtmlElement.

Vamos lá, arregacem as mangas e mãos à obra.

1. Primeiramente, vamos criar o TextBox que será utilizado no ASPX para a transferência dos dados entre as tecnologias. Para isso, copie e cole a linha de código abaixo para dentro da tag <form> da sua página.

<asp:TextBox ID="TextBox_ASPX" runat="server" Text="..." style="text-align: center" />

Exemplo (AcessandoElementosASPXviaSLTestPage.aspx)


2. Agora vamos criar os componentes necessários para a comunicação do lado da aplicação Silverlight. Copie o código XAML abaixo para dentro do LayoutRoot da sua aplicação:

        <TextBlock FontSize="18" HorizontalAlignment="Center" Margin="50,31,45,0" Name="textBlock1" Text="Aplicação Silverlight" VerticalAlignment="Top" Width="305" TextAlignment="Center" />
        <Button x:Name="btnAlteraValor" Width="100" HorizontalAlignment="Center" Content="Atribuir valor" Click="btnAlteraValor_Click" Margin="12,105,288,0" Height="50" VerticalAlignment="Top" />
        <TextBox x:Name="txtEntradaDados" Width="200" HorizontalAlignment="Center" Text="Olá Mundo" TextAlignment="Center" FontSize="18" Margin="133,112,67,0" Height="37" VerticalAlignment="Top" />
        <Button x:Name="btnRecebeValor" Width="100" HorizontalAlignment="Center" Content="Recuperar valor" Click="btnRecebeValor_Click" Margin="0,0,0,60" Height="50" VerticalAlignment="Bottom" />
        <TextBlock x:Name="txbRecebeValor" Text="..." VerticalAlignment="Bottom" TextAlignment="Left" FontSize="18" Margin="0,0,0,20" HorizontalAlignment="Center" />

Sua aplicação deverá ficar parecida com o exemplo abaixo:

Exemplo (MainPage.xaml – Design)


3. Ok, já preparamos o cenário necessário para a realização da nossa demonstração, vamos agora implementar os eventos dos controles Silverlight com a lógica da comunicação entre as tecnologias.
Copie o código abaixo  e cole no code-behind do seu UserControl (ou Page):

//evento responsável por alterar o valor contido no TextBox_ASPX
private void btnAlteraValor_Click(object sender, RoutedEventArgs e)
{
   HtmlDocument hd = HtmlPage.Document;
   HtmlElement he = hd.GetElementById("TextBox_ASPX"); //recupera o textbox da página ASPX
   he.SetAttribute("value", txtEntradaDados.Text); //atribui o valor de txtEntradaDados ao TextBox_ASPX
   hd.Submit(); //envia as modificações
}

//evento responsável por recuperar o valor contido no TextBox_ASPX
private void btnRecebeValor_Click(object sender, RoutedEventArgs e)
{
   HtmlDocument hd = HtmlPage.Document;
   HtmlElement he = hd.GetElementById("TextBox_ASPX"); //recupera o textbox da página ASPX
   txbRecebeValor.Text = he.GetAttribute("value"); //atribui o valor do TextBox_ASPX no textblock chamado txbRecebeValor
}

Exemplo (MainPage.xaml.cs)


4. Execute a aplicação. Ela terá mais ou menos essa aparência:
Ao clicar em Atribuir valor, o texto contido na textbox da aplicação Silverlight (txtEntradaDados) será enviado para a textbox da página ASPX (TextBox_ASPX), como no exemplo abaixo:

E ao clicar em Recuperar valor, o texto contido na textbox da página ASPX (TextBox_ASPX) será enviado para o textblock da aplicação Silverlight (txbRecebeValor), segue um exemplo:

Caso tenha dúvidas, fique à vontade para publicá-las via comentário.
Espero ter ajudado.

Um forte abraço.
Fabriccio (@fabricciocb)

Posts relacionados:
Acessando funções Javascript com Silverlight
Recuperando valores passados por QueryString em Silverlight

Acessando funções Javascript com Silverlight

Saudações pessoal, segue um tutorial de como acessar uma função javascript através da sua aplicação Silverlight:

Para esse tutorial, eu utilizei o Visual Studio 2010 e o Silverlight 4, porém o processo é exatamente o mesmo para versões anteriores da tecnologia.

Vamos lá.

1. Crie um novo projeto no Visual Studio:

2. Selecione um projeto do tipo Silverlight Application:

3. Marque a opção Host the Silverlight application in a new Web site para que seja criada um novo projeto ASP.NET contendo a aplicação Silverlight automaticamente:

4. Agora, com nosso projeto criado, vamos criar a nossa função Javascript que será executada pelo Silverlight.
Ela ficará na página ASPX onde o Silverlight está contido, no meu caso, no web form chamado AcessandoJavascriptComSilverlightTestPage.aspx. Abra a página para edição:

5. Com o código da página aberto, vamos inserir o seguinte trecho de código entre as tags <head> e </head> do web form:

<script type="text/javascript">
function Alerta() {
alert("Olá Mundo!");
}
</script>

Obs.: Esta pequena função javascript é responsável por exibir uma mensagem de alerta na tela do usuário.

Exemplo (AcessandoJavascriptComSilverlightTestPage.aspx):

6. Agora, acesse o código XAML da sua MainPage para criarmos o botão que acionará a chamada à função javascript.

7. Insira o seguinte trecho de código dentro do LayoutRoot do seu UserControl:

<Button x:Name="btnAlerta" Content="Alerta" Height="100" Width="100" Click="btnAlerta_Click" />

Exemplo (MainPage.xaml – Design):

Exemplo (MainPage.xaml - XAML):

8. Agora abra o code-behind da MainPage para inserirmos a chamada à função javascript.

9. Insira, na classe, o seguinte trecho de código:

private void btnAlerta_Click(object sender, RoutedEventArgs e)
{
HtmlPage.Window.Invoke("Alerta");
}

Exemplo (MainPage.xaml.cs):

10. Agora execute a aplicação (tecla F5) e veja o resultado:

Obs.: Caso queira passar parâmetros para as funções javascript, você poderá utilizar o mesmo método, veja:

1. Função javascript parametrizada:

<script type="text/javascript">
function Alerta(mensagem) {
alert(mensagem);
}
</script>

Exemplo (AcessandoJavascriptComSilverlightTestPage.aspx):

2. Passando valores para funções javascript parametrizadas via code-behind:

private void btnAlerta_Click(object sender, RoutedEventArgs e)
{
HtmlPage.Window.Invoke("Alerta", "Olá Mundo via parâmetro.");
}

Exemplo (MainPage.xaml.cs):

3. Executando a aplicação:

Espero que este tutorial tenha sido útil.
Qualquer dúvida, basta deixar um comentário.

Um forte abraço.
Fabriccio (@fabricciocb).

Posts Relacionados:
Recuperando valores passados por QueryString em Silverlight
Editando e Recuperando valores de Controles ASPX com Silverlight

Recuperando valores passados por QueryString em Silverlight

Uma ótima maneira de recuperar dados da aplicação onde o Silverlight está hosteado é através da QueryString. Estou publicando aqui um pequeno bloco de código responsável por realizar essa operação.

// faça aqui a verificação de querystring nula
string val = HtmlPage.Document.QueryString["idDaQueryString"].ToString();

Espero que tenha sido útil.
Um forte abraço.

Posts Relacionados:
Acessando funções Javascript com Silverlight
Editando e Recuperando valores de Controles ASPX com Silverlight

Are You Certifiable?

Sempre que eu navego pela net em busca de cases do Silverlight para publicar aqui para vocês eu me deparo com coisas novas. Dessa vez o que eu achei foi um game chamado “Are you certifiable?” (Você é certificável?, em português).

O “Are you certifiable?” é um game do Microsoft Learning voltado à profissionais de TI e desenvolvedores que pensam em tirar sua certificação Microsoft ou que desejam apenas aprimorar suas habilidades.

O objetivo do jogo é testar os conhecimentos técnicos do jogador em uma das três áreas disponíveis para escolha (TI Professional, Developer ou Windows 7) através de perguntas técnicas sobre o tema selecionado.

Para jogar basta efetuar o login no game com seu live ID, escolher seu avatar e um dos três temas disponíveis.
É possível jogar sem possuir um live ID (modo Guest Play), mas dessa forma você não poderá salvar seu progresso e sua pontuação, não terá acesso ao ranking de melhores jogadores e ao recurso de adicionar amigos na competição, dentre algumas outras limitações.

O jogo é desenvolvido 100% em Silverlight e consegue agregar uma bela UX com o conteúdo técnico de forma excepcional. É diversão e aprendizado garantido.

Clique aqui para jogar.

E aí, você é certificável?

Este slideshow necessita de JavaScript.

Para mais informações acesse a página do Microsoft Learning:
http://www.microsoft.com/learning/pt/br/training/format-games.aspx

Um forte abraço.
Fabriccio (@fabricciocb).

Outos Cases de Sucesso:
Thumba: Editor de Imagens em Silverlight
NASA utilizando Silverlight

Certificação Silverlight 4

Pessoal, nem preciso dizer que estou super empolgado com a notícia que estou trazendo a vocês…

Após quase três anos de angustiante espera, finalmente a certificação de Silverlight está chegando, com lançamento previsto para outubro deste ano.

Só que para esse lançamento, a Microsoft está precisando da ajuda de nós, desenvolvedores Silverlight, que queiram ajudar na criação do primeiro exame da tecnologia:

70-506    TS: Silverlight 4, Development

Pois bem, para participar você precisa ser um Subject Matter Experts (SMEs) do exame acima (você pode criar seu profile SME clicando aqui).
A Microsoft irá utilizar a base de dados do SME para localizar os participantes que irão auxiliar no desenvolvimento deste exame.

Se você já possuir seu cadastro no SME, você precisará atualizá-lo. Para isto, basta ir nas opções de resposta do item “Which technologies do you have work experience with?” e incluir Silverlight.
A Microsoft irá entrar em contato apenas com os desenvolvedores que tiverem essa opção selecionada na pergunta.

Vamos lá galera, não percam essa chance de poder ajudar ativamente no desenvolvimento deste exame.

Mais Informações em:

http://borntolearn.mslearn.net/btl/b/weblog/archive/2010/07/12/calling-all-silverlight-experts-update-your-sme-profile-now.aspx (em inglês)

http://rubelkhan.wordpress.com/2010/07/12/microsoft-calling-all-silverlight-experts-update-your-sme-profile-now/ (em inglês)

Saiba mais sobre como ser um Microsoft Learning SME:

http://borntolearn.mslearn.net/btl/b/weblog/archive/2010/07/09/how-to-become-a-microsoft-learning-sme.aspx (em inglês)

Um forte abraço à todos.
Fabriccio.

Silverlight CoverFlow

Pessoal,

Estou utilizando o CoverFlow em um projeto Silverlight e recomendo à quem necessita de uma maneira de aumentar a interatividade da aplicação.

No CodePlex existe uma implementação do CoverFlow em Silverlight 3 disponível para download.

Vale a pena o clique.
Segue o link: http://silverlightcoverflow.codeplex.com/

Forte abraço,
Fabriccio.

Mudar o Tab pela Tecla Enter em Silverlight

Pessoal, nos últimos dias 29, 30 e 01, ministrei um Hands-On Lab de Silverlight para os empresários do programa Microsoft SOL.
Nesse treinamento, surgiu uma dúvida que fiquei de divulgar posteriormente, que era “Mudar o foco dos controles (Tab) pela tecla Enter“, mas por sorte nem precisei desenvolver :) . O Ederson Santos – um dos participantes do treinamento – teve o trabalho de pesquisar e me enviar uma solução por e-mail. Valeu pelo apoio Ederson!

Segue a solução:

        #region Event Handlers
        private void LayoutRoot_KeyDown(object sender, KeyEventArgs e)
        {

            if (e.Key == Key.Enter)
            {
                TextBox atual = FocusManager.GetFocusedElement() as TextBox;

                if (atual != null)
                {
                    int index = atual.TabIndex++;

                    TextBox proximo = proximoFoco(index);

                    if (proximo != null)
                        proximo.Focus();
                }
            }
        }
        #endregion

        #region Private Methods

        ///
        /// Retorna o TextBox que recebe o focus
        ///
        private TextBox proximoFoco(int index)
        {
            TextBox textbox = null;

            foreach (var item in LayoutRoot.Children)
            {
                if (item is TextBox)
                {
                    textbox = item as TextBox;

                    if (textbox != null)
                    {
                        if (textbox.TabIndex == index)
                            break;
                    }
                }
            }

            return textbox;
        }
        #endregion

Espero que tenha sido útil.
Um forte abraço.
Fabriccio.

Thumba: Editor de Imagens em Silverlight

Mais um ótimo case da tecnologia pra vocês: Thumba – Editor de imagens muito bom que utiliza muito bem os recursos do Silverlight 4. Vale a pena o clique na imagem para dar uma olhada.

Forte abraço à todos.

Seguir

Obtenha todo post novo entregue na sua caixa de entrada.