Cimbalino Windows Phone Toolkit: ApplicationBarBehavior

ApplicationBar disponível para utilização no desenvolvimento de aplicações para Windows Phone foi desde o primeiro dia uma grande dor de cabeça para os programadores, pelo simples facto de este controlo não ser um FrameworkElement.

Quer isto dizer que não é possível aplicar Styles ou Templates à ApplicationBar, e mais importante ainda, não é possível fazer Binding das suas propriedades, algo que complica e muito quem quer utilizar uma arquitectura baseada em MVVM!

É certo que a arquitectura MVVM não é completamente fechada e limitada, e como tal existem alternativas para ultrapassar este problema (por exemplo, esta e esta)!

No meu caso, de forma a poder utilizar a Application Bar nas minhas aplicações de uma forma mais “MVVM’ed”, criei o ApplicationBarBehavior que podem encontrar no Cimbalino Windows Phone Toolkit!

Este Behavior, quando aplicado no elemento LayoutRoot de uma PhoneApplicationPage, permite criar e manter uma Application Bar com propriedades Bindable de forma a manter uma arquitectura MVVM mais consistente.

Para melhor explicar, nada como um exemplo:

<!-- Restante código -->

<Grid x:Name="LayoutRoot" Background="Transparent">
    <i:Interaction.Behaviors>
        <cimbalino:ApplicationBarBehavior>
            <cimbalino:ApplicationBarIconButton Command="{Binding AddItemCommand, Mode=OneTime}" IconUri="/Images/appbar.add.rest.png" Text="add" IsVisible="{Binding IsSelectionDisabled}" />
            <cimbalino:ApplicationBarIconButton Command="{Binding EnableSelectionCommand, Mode=OneTime}" IconUri="/Images/appbar.manage.rest.png" Text="select" IsVisible="{Binding IsSelectionDisabled}" />
            <cimbalino:ApplicationBarIconButton Command="{Binding DeleteItemsCommand, Mode=OneTime}" CommandParameter="{Binding SelectedItems, ElementName=ItemsMultiselectList}" IconUri="/Images/appbar.delete.rest.png" Text="delete" IsVisible="{Binding IsSelectionEnabled}" />
        </cimbalino:ApplicationBarBehavior>
    </i:Interaction.Behaviors>

    <!-- Restante código -->

</Grid>

<!-- Restante código -->

No excerto de código acima podemos ver o ApplicationBarBehavior com uma série de controlos ApplicationBarIconButton (tal como seria feito normalmente), e rapidamente nos apercebemos de algumas novas propriedades como o Command, CommandParameter, e IsVisible (algo que não encontramos de base na ApplicationBar do Windows Phone); apesar de neste exemplo isso não ser visível, também as propriedades Text e IconUri são Bindable!

Para melhor explorarem o ApplicationBarBehavior, proponho que façam download do código completo do Cimbalino Windows Phone Toolkit do GitHub, e depois executem a solução BindableApplicationBar que encontram na pasta “samples”.

Windows Phone App Code Camp

A Microsoft Portugal está a preparar para o fim de semana de 16 a 18 de Dezembro o primeiro Windows Phone App Code Camp!

Esta é sem dúvida uma oportunidade única para implementar aquela ideia para uma aplicação de Windows Phone que tem, mas que por falta de oportunidade, conhecimento, ou mesmo outra razão, ainda não o fez.

Estamos a falar de 3 dias no Palmela Village Golf Resort com tudo pago(!), com o acompanhamento do Nuno Silva para fazer essas aplicações realidade!

Podem ver o anuncio oficial deste evento com mais informações importantes no link em baixo.

Windows Phone App Code Camp (469.62 kB)
Downloaded 470 times

Truques & Dicas no Desenvolvimento para Windows Phone @ NetPonto

No passado sábado estive em Coimbra para mais um evento do NetPonto (aquela que considero já ser actualmente a melhor comunidade técnica Microsoft em Portugal), onde apresentei uma sessão sobre alguns Truques & Dicas no Desenvolvimento para Windows Phone que eu próprio utilizo no dia a dia nas minhas aplicações!

Os slides da minha sessão já se encontram publicados no SlideShare do NetPonto, e estão também aqui reproduzidos:

A nível de código, tudo o que apresentei colocarei sob o formato de aplicações de demonstração no Cimbalino Windows Phone Toolkit, disponível aqui! :)

Cimbalino Windows Phone Toolkit

Está disponível desde ontem o Cimbalino Windows Phone Toolkit, as minhas ferramentas pessoais no desenvolvimento de aplicações para Windows Phone!

O toolkit está dividido por projectos, cada um específico às capabilities disponíveis nas aplicações de Windows Phone.

Disponibilizei este toolkit em código aberto sob licença MIT no GitHub; a escolha do GitHub neste caso tem a ver com o facto que este me garante uma plataforma colaborativa superior ao disponibilizado actualmente no CodePlex!

Podem ainda instalar o toolkit via NuGet, utilizando as seguintes handles:

Nos próximos dias irei incluir aplicações de demonstração ao projecto e alguma documentação.

Entretanto quem quiser pode colaborar reportando bugs, dando sugestões e mesmo fazendo fork do projecto e alterando directamente o código! :)

Silverlight for Windows Phone Toolkit – Nov 2011

Já se encontra disponível a versão de Novembro do Silverlight for Windows Phone Toolkit!

A lista completa de novidades e correcções é relativamente extensa, e está disponível num artigo do Jeff Wilcox (Senior Software Developer na Silverlight Phone & Devices team).

Como de costume, o toolkit está disponível para download directo do MSI, package através do NuGet, e código fonte no Codeplex!

Nota: pessoalmente já detectei alguns problemas com esta versão, nomeadamente uma situação com o ListPicker que remove todas as transições das páginas após ter sido aberto; este bug já foi aqui reportado, e pretendo brevemente disponibilizar um patch aqui no blog para este problema!

Windows Phone Development @ Instituto Politécnico da Guarda

Ontem tive o prazer de apresentar um Workshop sobre Windows Phone Development no Instituto Politécnico da Guarda (IPG), aceitando com todo o gosto o convite que me foi feito pelo Prof. Carlos Carreto, coordenador do Mestrado em Computação Móvel leccionado nesta instituição.

Os slides que utilizei na minha sessão estão já publicados no SlideShare, e aqui reproduzidos:

Fica o meu agradecimento ao Prof. Carlos Carreto e ao IPG pelo convite.

CTT Objectos – Reloaded!

Dados os problemas que tenho vindo a ter com a certificação e aprovação de aplicações multi-língua no Marketplace (já aqui anteriormente escrevi sobre o assunto), resolvi tratar do problema simplesmente submetendo as minhas aplicações apenas e só em Português de Portugal!

Assim, resubmeti o CTT Objectos, de forma que a versão anteriormente publicada não terá novas actualizações.

Quer isto dizer que quem pretender continuar a utilizar esta aplicação e ter acesso a futuras actualizações e melhoramentos, deverá desinstalar a que actualmente tem e instalar de novo através do seguinte botão:

Para facilitar, podem utilizar a funcionalidade Bing Vision presente no Search do vosso Windows Phone, e apontar a câmara para a imagem seguinte:

Dado que se trata de uma nova submissão, todos os comentários e avaliações dadas à aplicação anteriormente não poderão ser aproveitadas, pelo que agradeço a quem quiser ajudar, avaliando a aplicação! ;)

Peço desculpa de todo este incómodo, mas é algo a que sou praticamente alheio, dado que não existe qualquer documentação dada pela Microsoft sobre esta situação… :-|

O meu Salário

Está neste momento disponível a minha segunda aplicação para Windows Phone, O meu Salário, com a qual poderá calcular o seu vencimento líquido mensal e anual, tendo em conta o salário base, os dados de IRS e Segurança Social.

Tal como o CTT Objectos, também esta aplicação está disponível gratuitamente no Marketplace!

Cliquem no seguinte botão para ver mais detalhes e instalar:

Para facilitar, podem utilizar a funcionalidade Bing Vision presente no Search do vosso Windows Phone, e apontar a câmara para a imagem seguinte:

Windows Phone Blue Book

Rob Miles é um dos melhores e mais divertidos oradores que alguma vez tive o prazer de escutar, mas mais do que isso, tem sido um dos que mais tem ajudado as comunidades de desenvolvimento!

À uns anos atrás ele lançou o C# Yellow Book que rapidamente se tornou uma referência essencial no desenvolvimento em C# e é actualmente utilizado no 1º ano do curso de programação do Department of Cumputer ScienceUniversity of Hull.

Mais recentemente lançou o Windows Phone Blue Book, um livro sobre o desenvolvimento para Windows Phone “Mango” com 248 páginas, acompanhado de 130Mb de ficheiros de código-fonte, demos e labs!

E tudo isto, disponibilizado de forma totalmente gratuita para uso pessoal! :)

@Coding4Fun, Channel9

ChevronWP7 Labs aberto!

Está (finalmente!) aberto o ChevronWP7 Labs, onde qualquer programador por uma pequena quantia (9 doláres, menos de 7 euros), pode desbloquear o seu Windows Phone para desenvolver aplicações!

Tudo o que precisam é de uma conta PayPal para fazerem o pagamento, uma conta Live para o registo, a ferramenta de desbloqueio criada para equipa do ChevronWP7, e o SDK do Windows Phone correctamente instalado.

Rapidamente poderão assim começar a desenvolver directamente no equipamento físico, sem necessidade de pagar os 99 dólares até agora necessários para desbloquear o mesmo! ;)