<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Vinicius Souza Blog</title>
	<atom:link href="http://viniciussouza.azurewebsites.net/index.php/feed/" rel="self" type="application/rss+xml" />
	<link>http://viniciussouza.azurewebsites.net</link>
	<description>Desenvolvimento</description>
	<lastBuildDate>Fri, 10 May 2013 21:47:34 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Pós Kickoff do AppDay</title>
		<link>http://viniciussouza.azurewebsites.net/pos-kickoff-do-appday/</link>
		<comments>http://viniciussouza.azurewebsites.net/pos-kickoff-do-appday/#comments</comments>
		<pubDate>Mon, 22 Apr 2013 17:27:04 +0000</pubDate>
		<dc:creator>Vinícius Souza</dc:creator>
				<category><![CDATA[Destaque]]></category>
		<category><![CDATA[Windows 8]]></category>
		<category><![CDATA[AppDay]]></category>

		<guid isPermaLink="false">http://viniciussouza.azurewebsites.net/?p=4331</guid>
		<description><![CDATA[&#160; &#160; &#160; Twitter: @vbs_br Facebook: http://aka.ms/facevisouza Olá pessoal, primeiramente gostaria de parabeniza-los pela participação do Kick Off do AppDay. O prazo para o cadastro da URL do aplicativo foi estendido! Isso mesmo, agora vocês podem fazer o envio até o dia 31/05 de 2013 Fiquem atentos quanto ao tempo de certificação do aplicativo na Windows Store [...]]]></description>
			<content:encoded><![CDATA[<p>&nbsp;</p>
<p><a href="http://viniciussouza.azurewebsites.net/wp-content/uploads/2013/04/AppDay.jpg"><img class="alignleft  wp-image-4351" title="AppDay" src="http://viniciussouza.azurewebsites.net/wp-content/uploads/2013/04/AppDay.jpg" alt="" width="607" height="168" /></a></p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p><strong>Twitter</strong>: @vbs_br</p>
<p><strong>Facebook</strong>: <a href="http://aka.ms/facevisouza">http://aka.ms/facevisouza</a></p>
<p>Olá pessoal, primeiramente gostaria de parabeniza-los pela participação do Kick Off do AppDay.</p>
<p><strong>O prazo para o cadastro da URL do aplicativo foi estendido! Isso mesmo, agora vocês podem fazer o envio até o <span style="color: #ff0000;">dia 31/05 de 2013 </span> <img src='http://viniciussouza.azurewebsites.net/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </strong></p>
<p>Fiquem atentos quanto ao tempo de certificação do aplicativo na Windows Store e no Publisher. Na Windows Store o tempo médio é de 5-7 dias úteis, no Publisher esse tempo é um pouco maior já que além do período da Windows Store temos o tempo do Publisher.</p>
<p>Lembrando que a data para enviar a URL do aplicativo de desenvolvido por vocês para receber o certificado é até o dia<strong> 31 de Maio de 2013</strong>.</p>
<p>Estamos recebendo algumas dúvidas pelo Twitter e pelo Facebook sobre os pontos abordados no sábado (20/04).</p>
<p>Vou endereçar a maior parte delas no meu Blog para conseguir escalar e ajudá-los o mais rápido possível.</p>
<p>Navegação no artigo:<br />
<a href="#section1">1) Como pedir ajuda no desenvolvimento de aplicativos para Windows 8?</a></p>
<p><a href="#section2">2) Tokens enviados do DreamSpark para os estudantes.</a></p>
<p><a href="#section3">3) Cadastro da conta na Windows Store.</a></p>
<p><a href="#section4">4) Alteração dos templates </a></p>
<div style="padding-left: 30px;"><a href="#section41">4.1) Como alterar os dados apresentados!? </a><br />
<a href="#section42">4.2) Alterando a quantidade de itens apresentada na home do aplicativo.</a><br />
<a href="#section43">4.3) Remover o R$ do templates de Catálogo eletrônico.</a><br />
<a href="#section44">4.4) Navegação entre páginas</a><br />
<a href="#section45">4.5) Alterando a cor da fonte do template</a><br />
<a href="#section46">4.6) Incluindo mais de Categorias</a><br />
<a href="#section47">4.7) Incluindo Settings no Win8AppBox</a></div>
<p><a href="#section5">5) Gerar o pacote para a Windows Store.</a></p>
<p><a href="#section6">6) Preenchimento do formulário de submissão. </a></p>
<div style="padding-left: 30px;"><a href="#section61">6.1) Detalhes da venda </a><br />
<a href="#section62">6.2) Recursos avançados (Advanced Features)</a></div>
<div style="padding-left: 30px;"><a href="#section63">6.3) Faixa etária e certificados   (Age rating and rating certificates) </a></div>
<div style="padding-left: 30px;"><a href="#section64">6.4) Criptografia (Cryptography) </a></div>
<div style="padding-left: 30px;"><a href="#section65">6.5) Pacotes (Packages) </a></div>
<div style="padding-left: 30px;"><a href="#section66">6.6) Descrição (Description)</a></div>
<p><a href="#Final">Conclusão</a></p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p><strong><a name="section1"></a>1) Como pedir ajuda no desenvolvimento de aplicativos para Windows 8?&lt;</strong></p>
<p>Estamos monitorando a HashTag do #AppDay para conseguir compilar artigos como esse, vou postar pelo menos 1 artigo por dia endereçando alguns dos pontos que o pessoal está com dúvida.</p>
<p>Temos também um grupo na Facebook chamado &#8220;<a title="Apps4Win" href="http://www.facebook.com/groups/436637483038051/" target="_blank">Apps4Win Windows 8</a>&#8220;, onde a comunidade está muito ativa e já temos também muitas perguntas respondidas. Dica, deem uma olhada nas perguntas grande chances que sua dúvida já foi respondida</p>
<p>&nbsp;</p>
<p><strong><a name="section2"></a>2) Tokens enviados do DreamSpark para os estudantes.</strong></p>
<p>O Token recebido do DreamSpark, foi enviado somente no dia do kick off do evento e enviamos 1 token por e-mail. Não vai haver mais envio de token.</p>
<p>Caso tenha dado a mensagem de token inválido verifique se o código foi digitado exatamente igual, se copiado do e-mail verifique se não foi nenhum espaço junto.</p>
<p>&nbsp;</p>
<p><strong><a name="section3"></a>3) Cadastro da conta na Windows Store.</strong></p>
<p><a href="http://viniciussouza.azurewebsites.net/wp-content/uploads/2013/04/Windows-Store.png"><img class="alignleft size-full wp-image-4361" title="Windows Store" src="http://viniciussouza.azurewebsites.net/wp-content/uploads/2013/04/Windows-Store.png" alt="" width="480" height="270" /></a></p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>O processo de cadastro de conta na Windows Store está endereçado no vídeo do Caverna <a href="http://channel9.msdn.com/posts/AppDay-Parte-1">http://channel9.msdn.com/posts/AppDay-Parte-1</a> - Você na Windows Store.</p>
<p>A principal dúvida que pude identificar é sobre o cartão:</p>
<ul>
<li>O cartão utilizado pode ser Nacional e/ou Internacional;</li>
<li>Caso não consiga realizar a validação do cartão, entre em contato com a operadora do cartão de crédito utilizado (normalmente tem um número de telefone de contato na parte de trás do cartão). Pode ser que o cartão esteja bloqueado para utilização na internet.</li>
<li>O cartão de crédito é utilizado para conseguir validar que a conta criada está vinculada a uma pessoa e não precisa possuir os mesmos dados da pessoa que está criando a conta. Pode ser utilizado, por exemplo, cartão de crédito de familiares sem problema, você terá que ter acesso a fatura de cartão de crédito para olhar o registro da compra com o valor/código de verificação.</li>
<li>O valor cobrado é estornado, ou seja, nada será cobrado no processo de verificação.</li>
</ul>
<p>&nbsp;</p>
<p>Caso não queira utilizar o cartão de crédito e ter uma conta sua na Windows Store, você pode utilizar o Publisher <a href="http://bit.ly/w8appup">http://bit.ly/w8appup</a>.</p>
<p>Ao acessar essa URL você vai poder fazer upload do seu projeto e do arquivo XML gerado com o <strong>WACK (Windows Application Certification Kit)</strong>.</p>
<p>O Publisher não vai realizar qualquer alteração na fonte do seu aplicativo, por isso é fundamental utilizar o WACK e somente submeter se estiver com o status de SUCESSO.</p>
<p>&nbsp;</p>
<p><strong><a name="section4"></a>4) Alteração dos templates</strong></p>
<p><a href="http://viniciussouza.azurewebsites.net/wp-content/uploads/2013/04/CupCacke_small.png"><img class="alignleft size-medium wp-image-4371" title="CupCacke_small" src="http://viniciussouza.azurewebsites.net/wp-content/uploads/2013/04/CupCacke_small-300x169.png" alt="" width="300" height="169" /></a></p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>Veja o vídeo com a alteração passo-a-passo do templates de catálogo eletrônico para um aplicativo de Cup Cake <a href="http://channel9.msdn.com/posts/AppDay-Video-2-Alterando-o-template-para-uma-app-de-CupCake-no-VisualStudio-passo-a-passo">http://channel9.msdn.com/posts/AppDay-Video-2-Alterando-o-template-para-uma-app-de-CupCake-no-VisualStudio-passo-a-passo</a></p>
<ul>
<li><a name="section41"></a><strong> 4.1) Como alterar os dados apresentados!?</strong></li>
</ul>
<p>Os templates do AppDay, utilizam os dados existentes no arquivo XML para preencher o conteúdo da APP, estes dados são apresentados somente <strong>quando a App está em modo de execução</strong>, quando clicamos no play ou pressionamos F5.</p>
<p>Os dados apresentados dentro do VisualStudio estão em uma classe <strong>Win8Catalogo.Data.SampleDataSource</strong>, alterando os dados que são inseridos na classe altera os dados na visualização, linha 66 em diante do arquivo <strong>SampleDataSorce.cs</strong> na pasta <strong>DataModel.</strong></p>
<p>&nbsp;</p>
<ul>
<li><a name="section42"></a><strong>4.2) Alterando a quantidade de itens apresentada na home do aplicativo.</strong></li>
</ul>
<p>Para alterar a quantidade de itens apresentada na Home acesse o arquivo HomePage.xaml.cs e procure pelo método</p>
<p><strong>protected override void LoadState(Object navigationParameter, Dictionary&lt;String, Object&gt; pageState)</strong></p>
<p>Logo abaixo da assinatura do método temos a seguinte linha:</p>
<p><strong>this.DefaultViewModel["Groups"] = Win8CatalogApplication.Instance.GetTopItens(4); </strong></p>
<p>Se alterarmos o parâmetro do método GetTopItens para 6, por exemplo, teremos 6 itens apresentados por categoria.</p>
<p>A linha de código abaixo apresento todo o código utilizado para alterar.</p>
<p><strong>this.DefaultViewModel["Groups"] = Win8CatalogApplication.Instance.GetTopItens(6); </strong></p>
<p>&nbsp;</p>
<ul>
<li><a name="section43"></a><strong>4.3) Remover o <strong>R$</strong> do templates de Catálogo eletrônico.</strong></li>
</ul>
<p>Abra o arquivo  <strong>Common/StandardStyles.xaml</strong> e procure pelo data templates que deseja alterar, veja qual em cada página.</p>
<p>HomePage.xaml: <strong>Standard250x250ItemTemplate </strong>visualização normal.</p>
<p>A baixo temos o código utilizado na GridView da HomePage, o código em negrito pode ser removido (deletado) sem problema.</p>
<p>&lt;DataTemplate x:Key=&#8221;Standard250x250ItemTemplate&#8221;&gt;</p>
<p style="padding-left: 30px;">&lt;Grid HorizontalAlignment=&#8221;Left&#8221; Width=&#8221;263&#8243; Height=&#8221;247&#8243;&gt;</p>
<p style="padding-left: 60px;">&lt;Border Background=&#8221;#003D3D3D&#8221;&gt;</p>
<p style="padding-left: 90px;">&lt;Image Source=&#8221;{Binding ImageUrl, Converter={StaticResource StringToImageConverter}}&#8221; Stretch=&#8221;UniformToFill&#8221; AutomationProperties.Name=&#8221;{Binding Nome}&#8221;/&gt;</p>
<p style="padding-left: 60px;">&lt;/Border&gt;</p>
<p style="padding-left: 60px;">&lt;StackPanel VerticalAlignment=&#8221;Bottom&#8221; Background=&#8221;#EA1E2324&#8243; Height=&#8221;55&#8243; Margin=&#8221;0,0,0,26&#8243;&gt;</p>
<p style="padding-left: 90px;">&lt;TextBlock Text=&#8221;{Binding Nome}&#8221; Margin=&#8221;10,7,10,0&#8243; FontSize=&#8221;13.333&#8243; FontFamily=&#8221;Segoe UI&#8221;/&gt;</p>
<p style="padding-left: 90px;"><strong><span style="color: #000000;">&lt;StackPanel Margin=&#8221;10,0&#8243; Orientation=&#8221;Horizontal&#8221;&gt;</span></strong></p>
<p style="padding-left: 120px;"><strong><span style="color: #000000;">&lt;TextBlock FontSize=&#8221;10.667&#8243; FontFamily=&#8221;Segoe UI&#8221; Text=&#8221;Rs.&#8221; VerticalAlignment=&#8221;Bottom&#8221; LineStackingStrategy=&#8221;BlockLineHeight&#8221; Margin=&#8221;0,0,0,1&#8243;/&gt;</span></strong></p>
<p style="padding-left: 120px;"><strong><span style="color: #000000;">&lt;TextBlock Text=&#8221;{Binding Valor}&#8221;  TextWrapping=&#8221;NoWrap&#8221; FontFamily=&#8221;Segoe UI&#8221; FontSize=&#8221;22.667&#8243; VerticalAlignment=&#8221;Center&#8221; LineStackingStrategy=&#8221;BlockLineHeight&#8221; LineHeight=&#8221;22.667&#8243;/&gt;                 </span></strong></p>
<p style="padding-left: 90px;"><strong><span style="color: #000000;">&lt;/StackPanel&gt;</span></strong></p>
<p style="padding-left: 60px;">&lt;/StackPanel&gt;</p>
<p style="padding-left: 30px;">&lt;/Grid&gt;</p>
<p>&lt;/DataTemplate&gt;</p>
<p>&nbsp;</p>
<p>Outro exemplo agora  na página CategoriaPage.Xaml, DateTemplate <strong>GroupItemTemplate </strong>disponível também no arquivo <strong>StandardStyle.xaml</strong>.</p>
<p>Removendo a trecho de código em negrito, vocês conseguem remover o valor utilizado.</p>
<p>&lt;DataTemplate x:Key=&#8221;GroupItemTemplate&#8221;&gt;</p>
<p style="padding-left: 30px;">&lt;Grid HorizontalAlignment=&#8221;Left&#8221; Width=&#8221;339&#8243; Height=&#8221;369&#8243;&gt;</p>
<p style="padding-left: 60px;">&lt;Border Background=&#8221;#003D3D3D&#8221;&gt;</p>
<p style="padding-left: 90px;">&lt;Image Source=&#8221;{Binding ImageUrl}&#8221; Stretch=&#8221;UniformToFill&#8221; AutomationProperties.Name=&#8221;{Binding Title}&#8221;/&gt;</p>
<p style="padding-left: 60px;">&lt;/Border&gt;</p>
<p style="padding-left: 60px;">&lt;Grid VerticalAlignment=&#8221;Bottom&#8221; Background=&#8221;#EA1E2324&#8243; Height=&#8221;65&#8243; Margin=&#8221;0,0,0,26&#8243;&gt;</p>
<p style="padding-left: 90px;">&lt;StackPanel Orientation=&#8221;Vertical&#8221; Margin=&#8221;10,0,0,5&#8243; HorizontalAlignment=&#8221;Left&#8221; VerticalAlignment=&#8221;Center&#8221;&gt;</p>
<p style="padding-left: 120px;">&lt;TextBlock Text=&#8221;{Binding Nome}&#8221; FontSize=&#8221;18.667&#8243; FontFamily=&#8221;Segoe UI&#8221; HorizontalAlignment=&#8221;Left&#8221;/&gt;</p>
<p style="padding-left: 120px;">&lt;StackPanel Margin=&#8221;0&#8243; Orientation=&#8221;Horizontal&#8221;&gt;</p>
<p style="padding-left: 150px;">&lt;TextBlock FontSize=&#8221;13.333&#8243; FontFamily=&#8221;Segoe UI&#8221; HorizontalAlignment=&#8221;Left&#8221; Text=&#8221;{Binding SubTitulo}&#8221; Margin=&#8221;5,0,0,0&#8243;/&gt;</p>
<p style="padding-left: 120px;">&lt;/StackPanel&gt;</p>
<p style="padding-left: 90px;">&lt;/StackPanel&gt;</p>
<p style="padding-left: 90px;"><strong>&lt;StackPanel Orientation=&#8221;Horizontal&#8221; HorizontalAlignment=&#8221;Right&#8221; Margin=&#8221;0,0,10,0&#8243; VerticalAlignment=&#8221;Center&#8221;&gt;</strong></p>
<p style="padding-left: 120px;"><strong>&lt;TextBlock FontSize=&#8221;10.667&#8243; FontFamily=&#8221;Segoe UI&#8221; Text=&#8221;R$ &#8221; VerticalAlignment=&#8221;Bottom&#8221; LineStackingStrategy=&#8221;BlockLineHeight&#8221; Margin=&#8221;0,0,0,1&#8243;/&gt;</strong></p>
<p style="padding-left: 120px;"><strong>&lt;TextBlock Text=&#8221;{Binding Valor}&#8221; TextWrapping=&#8221;NoWrap&#8221; FontFamily=&#8221;Segoe UI&#8221; FontSize=&#8221;29.333&#8243; VerticalAlignment=&#8221;Center&#8221; LineStackingStrategy=&#8221;BlockLineHeight&#8221; LineHeight=&#8221;22.667&#8243;/&gt;</strong></p>
<p style="padding-left: 90px;"><strong>&lt;/StackPanel&gt;</strong></p>
<p style="padding-left: 60px;">&lt;/Grid&gt;</p>
<p style="padding-left: 30px;">&lt;/Grid&gt;</p>
<p>&lt;/DataTemplate&gt;</p>
<p>Ficou faltando a página de Itens a ItemPage.xaml</p>
<p>O código abaixo foi retirado da própria página ItemPage.xaml, nela está o código utilizado para apresentar as informações sobre o produto, para ficar mais fácil veja as linhas 91-108 do código original do template.</p>
<p>Para remover os valores do template, exclua as linhas que estão em negrito abaixo.</p>
<p>&nbsp;</p>
<p>&lt;Grid VerticalAlignment=&#8221;Bottom&#8221; Background=&#8221;#EA1E2324&#8243; Height=&#8221;65&#8243; Margin=&#8221;0,0,0,26&#8243; Grid.Row=&#8221;1&#8243;&gt;</p>
<p style="padding-left: 30px;">&lt;StackPanel Orientation=&#8221;Vertical&#8221; Margin=&#8221;10,0,0,5&#8243; HorizontalAlignment=&#8221;Left&#8221; VerticalAlignment=&#8221;Center&#8221;&gt;</p>
<p style="padding-left: 60px;">&lt;TextBlock Text=&#8221;{Binding SubTitulo}&#8221; FontSize=&#8221;20&#8243; FontFamily=&#8221;Segoe UI&#8221; HorizontalAlignment=&#8221;Left&#8221;/&gt;</p>
<p style="padding-left: 60px;"><strong>&lt;StackPanel Orientation=&#8221;Horizontal&#8221; HorizontalAlignment=&#8221;Left&#8221; Margin=&#8221;0,10,10,0&#8243; VerticalAlignment=&#8221;Center&#8221;&gt;</strong></p>
<p style="padding-left: 90px;"><strong>&lt;TextBlock FontSize=&#8221;12&#8243; FontFamily=&#8221;Segoe UI&#8221; Text=&#8221;R$ &#8221; VerticalAlignment=&#8221;Bottom&#8221; LineStackingStrategy=&#8221;BlockLineHeight&#8221; Margin=&#8221;0,0,3,0&#8243;/&gt;</strong></p>
<p style="padding-left: 90px;"><strong>&lt;TextBlock Text=&#8221;{Binding Valor}&#8221; TextWrapping=&#8221;NoWrap&#8221; FontFamily=&#8221;Segoe UI&#8221; FontSize=&#8221;30&#8243; LineStackingStrategy=&#8221;BlockLineHeight&#8221; LineHeight=&#8221;22.667&#8243;/&gt;</strong></p>
<p style="padding-left: 60px;"><strong>&lt;/StackPanel&gt;</strong></p>
<p style="padding-left: 30px;">&lt;/StackPanel&gt;</p>
<p>&lt;/Grid&gt;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p style="padding-left: 30px;"> <a name="section44"></a><strong>4.4) Navegação entre páginas.</strong></p>
<p>A navegação entre página nos aplicativos de Windows 8 o método Navigate da classe  Frame, este método recebe dois parâmetros, como podemos ver abaixo em sua assinatura.</p>
<p>public bool Navigate(Type sourcePageType, object parameter);</p>
<ul>
<li>Onde o <strong>Type sourcePageType</strong>, é o Tipo da classe da página que vamos navegar para. Lembra-se que todas as páginas de nossa aplicação são Classes!</li>
<li>E <strong>object parameter</strong> de nosso método é o objeto que vamos passar de uma página para a outra.</li>
</ul>
<p>Importante: O método Navigate, possui duas assinaturas, e o que isso quer dizer? Quer dizer que temos duas maneiras de navegar entre páginas, basicamente.</p>
<p>A segunda assinatura do método Navigate, não possui o segundo parâmetro. Assim, se for realizar uma navegação sem a necessidade de passar parâmetro o segundo parâmetro do método pode ser omitido.</p>
<p>&nbsp;</p>
<p>Para saber qual o tipo da classe de nossa página, deve ser utilizado o operador <strong>typeof(<em>&lt;nome da classe&gt;</em>)</strong>, o &lt;nome da classe&gt; é o nome da classe que vamos navegar.</p>
<p>Exemplo: Na página de HomePage.xaml, ao clicarmos em um item de nosso catálogo acessamos a página de itens a ItemPage.xaml e enviamos para a página o ID do item que recebeu o clique, o código responsável pela navegação segue abaixo.</p>
<p style="padding-left: 30px;">this.Frame.Navigate(typeof(ItemPage), ((Item)e.ClickedItem).ID);</p>
<p>E vejam logo abaixo, como ficaria essa a mesma navegação se não tivéssemos que passar um parâmetro para a página de itens.</p>
<p style="padding-left: 30px;">this.Frame.Navigate(typeof(ItemPage));</p>
<p>&nbsp;</p>
<p>Como saber o nome da classe de sua página? O nome da classe fica disponível no arquivo com extensão .CS  de  C Sharp ou C#, prefiro a última <img src='http://viniciussouza.azurewebsites.net/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  .</p>
<p>Abra o arquivo .cs que está associado ao arquivo XAML, por exemplo, o arquivo CategoriaPage.xaml.cs</p>
<p>Logo no começo do arquivo vocês vão visualizar a definição da classe, veja o código abaixo.</p>
<p style="padding-left: 30px;">public sealed partial class <strong>CategoriaPage</strong> : LayoutAwarePage</p>
<p>A parte em negrito logo a frente da palavra chave class é o nome da nossa classe.</p>
<p>Com isso já é possível navegar para páginas diferentes!</p>
<p>&nbsp;</p>
<p style="padding-left: 30px;"><a name="section45"></a><strong>4.5) Alterando a cor da fonte do template.</strong></p>
<p>Podemos alterar a cor da fonte de duas maneiras nos controles, utilizando a propriedade Foreground de um controle ou definindo/alterando um estilo que altera o valor da propriedade Foregorund e depois atribuir o estilo ao controles, caso o mesmo já não esteja em uso pelo controle em questão.</p>
<p>Como exemplo vou utilizar o templat 1, o template de catálogo eletrônico.</p>
<p>No template todos os controles que apresentam texto estão utilizando a cor de fonte branca, que a cor padrão do tema utilizado pelo Windows.</p>
<p>Vamos alterar o controle <strong>EmpresaNome</strong> que é um <strong>TextBlock</strong>, veja abaixo.</p>
<p>&lt;TextBlock Name=&#8221;<strong>EmpresaNome</strong>&#8221; TextWrapping=&#8221;Wrap&#8221; Text=&#8221;Catálogo Eletrônico Contoso&#8221; FontFamily=&#8221;Segoe UI&#8221; FontSize=&#8221;24&#8243; FontWeight=&#8221;Bold&#8221; /&gt;</p>
<p>Vou incluir a propriedade a propriedade Foreground, para alterar a cor da fonte para Azul.</p>
<p>&lt;TextBlock Name=&#8221;<strong>EmpresaNome</strong>&#8221; TextWrapping=&#8221;Wrap&#8221; Text=&#8221;Catálogo Eletrônico Contoso&#8221; FontFamily=&#8221;Segoe UI&#8221; FontSize=&#8221;24&#8243; FontWeight=&#8221;Bold&#8221; <strong>Foreground=&#8221;Blue&#8221;</strong>/&gt;</p>
<p>As cores que podemos utilizar, pode ser definida utilizando um nome previamente definido como no exemplo acima, ou ainda utilizar um código Hexadecimal para definir o RGB assim como no HTML. Utilizando o código podemos também definir uma propriedade adicional que é o alfa.</p>
<p>Exemplo de definição da cor azul utilizando o código hexadecimal, no código as cores são compostas por 3 bytes cada um definindo uma componente de cor R = Red (vermelho), G = Green (verde) e B = Blue (Azul).</p>
<p>O intervalo para cada componente é de 0 &#8211; 255 em decimal ou de 0 &#8211; FF em Hexadecimal (base 16)</p>
<p>Foreground=&#8221;#0000FF&#8221;, este sem o Alfa. Defini somente a componente de cor azul e assim a cor resultante será predominantemente azul.</p>
<p>O código permite uma liberdade maior para definir cores.</p>
<p>O Alfa, que me referi anteriormente é um Byte adicional que é adicionado em frente ao Código RGB, ficando ARGB.</p>
<p>O valor também é de 0 &#8211; FF, sendo que quando <strong>0</strong> ficará completamente transparente e <strong>FF</strong> completamente visível.</p>
<p>Foreground=&#8221;#FF0000FF&#8221;, exemplo com o alfa em 100% e  Foreground=&#8221;#7F0000FF&#8221; já com 50% de visibilidade.</p>
<p>A outra maneira de alterarmos a cor da fonte de nosso aplicativo é utilizando classes de estilo, assim como no HTML. As classes de estilo, centralizam essas alterações facilitando uma possível mudança de tamanho de fonte, por exemplo, em todos os controle que utilizam a classe.</p>
<p>Continuando com o controle <strong>EmpresaNome</strong>, só que agora vamos criar uma classe para ele.</p>
<p>Abra o arquivo <strong>Common/StandardStyles.xaml </strong> e crie uma classe chamada <strong>Teste</strong>, definindo as propriedades que gostaríamos que alterar para nos controles <strong>TextBlock</strong> que a utilizarem.</p>
<p>&lt;Style x:Key=&#8221;<strong>Teste</strong>&#8220;  TargetType<strong>=&#8221;TextBlock&#8221;&gt;</strong></p>
<p style="padding-left: 30px;">&lt;Setter Property=&#8221;Foreground&#8221; Value=&#8221;Blue&#8221;/&gt;</p>
<p style="padding-left: 30px;">&lt;Setter Property=&#8221;FontSize&#8221; Value=&#8221;24&#8243;/&gt;</p>
<p style="padding-left: 30px;">&lt;Setter Property=&#8221;FontFamily&#8221; Value=&#8221;Segoe UI&#8221;/&gt;</p>
<p style="padding-left: 30px;">&lt;Setter Property=&#8221;TextWrapping&#8221; Value=&#8221;Wrap&#8221;/&gt;</p>
<p style="padding-left: 30px;">&lt;Setter Property=&#8221;FontWeight&#8221; Value=&#8221;Bold&#8221;/&gt;</p>
<p>&lt;/Style&gt;</p>
<p>Depois de criar nossa classe Teste, vamos utilizá-la no controle <strong>NomeEmpresa</strong> utilizando a propriedade <strong>Style</strong>.</p>
<p>&nbsp;</p>
<p>&lt;TextBlock Name=&#8221;<strong>EmpresaNome</strong>&#8221; Text=&#8221;Catálogo Eletrônico Contoso&#8221; <strong>Style=&#8221;Teste&#8221;</strong> <strong></strong>/&gt;</p>
<p>&nbsp;</p>
<p style="padding-left: 30px;"><a name="section46"></a><strong>4.6) Incluindo mais Categorias</strong></p>
<p>Para incluir categoria no projeto de Catálogo é muito simples, basta que você copie e cole o arquivo XML da categoria dentro da pasta /Catalogo/Data/Categoria. Ficando atento a apenas ao ID utilizado pela Categoria e Pelos Itens, cada <strong>Categoria</strong> e <strong>Item</strong> deve possuir um ID único. Valor da Tag <strong>&lt;ID&gt;</strong> presente tanto na categoria quanto no Item.</p>
<p>Ao iniciar o aplicativo todos os arquivos serão processados e o layout vai apresentar as categorias com os seus respectivos itens.</p>
<p>Uma boa prática é alterar o ID da categoria respeitando o nome do arquivo, exemplo:  <strong>Categoria_3.xml</strong> e a tag <strong>&lt;ID&gt;3&lt;/ID&gt;</strong> e para o item utilize  <strong>&lt;ID&gt;Cat3_1&lt;/ID&gt;</strong> para o primeiro item <strong>&lt;ID&gt;Cat3_2&lt;/ID&gt; </strong>para o segundo e assim por diante.</p>
<p>OBS.: Caso seja utilizado o mesmo &lt;ID&gt; para objetos diferentes, ao clicar em um item ou categoria será apresentado o objeto que for encontrado primeiro. Ou seja, pode ser apresentado o item que não foi clicado.</p>
<p>&nbsp;</p>
<p style="padding-left: 30px;"><a name="section47"></a><strong>4.7) Incluindo Settings no Win8AppBox</strong></p>
<p>O código para incluir opções de settings no templates Win8AppBox, fica no arquivo Common/LayoutAwarePage.cs.</p>
<p>Se abrirem esse arquivo, na lina 109 vai ter um método chamado <em>AppBox_CommandsRequested</em>, esse método é executado quando o usuário clica sobre o item Settings (configurações) da CharmBar.</p>
<p><span style="color: #0000ff; font-family: Consolas; font-size: x-small;"><span style="color: #0000ff; font-family: Consolas; font-size: x-small;"><span style="color: #0000ff; font-family: Consolas; font-size: x-small;">void</span></span></span><span style="font-family: Consolas; font-size: x-small;"><span style="font-family: Consolas; font-size: x-small;"> AppBox_CommandsRequested(</span></span><span style="color: #2b91af; font-family: Consolas; font-size: x-small;"><span style="color: #2b91af; font-family: Consolas; font-size: x-small;"><span style="color: #2b91af; font-family: Consolas; font-size: x-small;">SettingsPane</span></span></span><span style="font-family: Consolas; font-size: x-small;"><span style="font-family: Consolas; font-size: x-small;"> sender, </span></span><span style="color: #2b91af; font-family: Consolas; font-size: x-small;"><span style="color: #2b91af; font-family: Consolas; font-size: x-small;"><span style="color: #2b91af; font-family: Consolas; font-size: x-small;">SettingsPaneCommandsRequestedEventArgs</span></span></span><span style="font-family: Consolas; font-size: x-small;"><span style="font-family: Consolas; font-size: x-small;"> args)</span></span></p>
<p><span style="font-family: Consolas; font-size: x-small;"><span style="font-family: Consolas; font-size: x-small;">Cada opção apresentada no settings é um objeto do tipo SettingsCommand, você pode ter quantas opções forem necessárias. Mas por melhores práticas não é bom abusar desse recurso.</span></span></p>
<p>&nbsp;</p>
<p>//Criando o objeto SettingsCommand com a função que será executada.</p>
<p><span style="color: #2b91af; font-family: Consolas; font-size: x-small;"><span style="color: #2b91af; font-family: Consolas; font-size: x-small;"><span style="color: #2b91af; font-family: Consolas; font-size: x-small;">SettingsCommand</span></span></span><span style="font-family: Consolas; font-size: x-small;"><span style="font-family: Consolas; font-size: x-small;"> aboutCommand = </span></span><span style="color: #0000ff; font-family: Consolas; font-size: x-small;"><span style="color: #0000ff; font-family: Consolas; font-size: x-small;"><span style="color: #0000ff; font-family: Consolas; font-size: x-small;">new </span></span></span><span style="color: #2b91af; font-family: Consolas; font-size: x-small;"><span style="color: #2b91af; font-family: Consolas; font-size: x-small;"><span style="color: #2b91af; font-family: Consolas; font-size: x-small;">SettingsCommand</span></span></span><span style="font-family: Consolas; font-size: x-small;"><span style="font-family: Consolas; font-size: x-small;">(</span></span><span style="color: #a31515; font-family: Consolas; font-size: x-small;"><span style="color: #a31515; font-family: Consolas; font-size: x-small;"><span style="color: #a31515; font-family: Consolas; font-size: x-small;">&#8220;aboutSettings&#8221;</span></span></span><span style="font-family: Consolas; font-size: x-small;"><span style="font-family: Consolas; font-size: x-small;">, </span></span><span style="color: #a31515; font-family: Consolas; font-size: x-small;"><span style="color: #a31515; font-family: Consolas; font-size: x-small;"><span style="color: #a31515; font-family: Consolas; font-size: x-small;">&#8220;Sobre&#8221;</span></span></span><span style="font-family: Consolas; font-size: x-small;"><span style="font-family: Consolas; font-size: x-small;">, handler);</span></span></p>
<p><span style="font-family: Consolas; font-size: x-small;"><span style="font-family: Consolas; font-size: x-small;">O código acima inclui a opção de sobre, já presente no código. </span></span></p>
<p><span style="font-family: Consolas; font-size: x-small;"><span style="font-family: Consolas; font-size: x-small;">Para adicionar a opção de políticas de privacidade, por exemplo, deve ser incluído a seguinte linha logo abaixo.</span></span></p>
<p><span style="color: #2b91af; font-family: Consolas; font-size: x-small;"><span style="color: #2b91af; font-family: Consolas; font-size: x-small;"><span style="color: #2b91af; font-family: Consolas; font-size: x-small;">SettingsCommand</span></span></span><span style="font-family: Consolas; font-size: x-small;"><span style="font-family: Consolas; font-size: x-small;"> privacyCommand = </span></span><span style="color: #0000ff; font-family: Consolas; font-size: x-small;"><span style="color: #0000ff; font-family: Consolas; font-size: x-small;"><span style="color: #0000ff; font-family: Consolas; font-size: x-small;">new </span></span></span><span style="color: #2b91af; font-family: Consolas; font-size: x-small;"><span style="color: #2b91af; font-family: Consolas; font-size: x-small;"><span style="color: #2b91af; font-family: Consolas; font-size: x-small;">SettingsCommand</span></span></span><span style="font-family: Consolas; font-size: x-small;"><span style="font-family: Consolas; font-size: x-small;">(</span></span><span style="color: #a31515; font-family: Consolas; font-size: x-small;"><span style="color: #a31515; font-family: Consolas; font-size: x-small;"><span style="color: #a31515; font-family: Consolas; font-size: x-small;">&#8220;privacySettings&#8221;</span></span></span><span style="font-family: Consolas; font-size: x-small;"><span style="font-family: Consolas; font-size: x-small;">, </span></span><span style="color: #a31515; font-family: Consolas; font-size: x-small;"><span style="color: #a31515; font-family: Consolas; font-size: x-small;"><span style="color: #a31515; font-family: Consolas; font-size: x-small;">&#8220;Política de privacidade&#8221;</span></span></span><span style="font-family: Consolas; font-size: x-small;"><span style="font-family: Consolas; font-size: x-small;">, handler);</span></span></p>
<p><span style="font-family: Consolas; font-size: x-small;"><span style="font-family: Consolas; font-size: x-small;">Com essa linha criamos um objeto do tipo SettingsCommand, agora temos que incluir a opção no settings.</span></span></p>
<p>args.Request.ApplicationCommands.Add(privacyCommand);</p>
<p>Após as alterações seu código ficará assim:</p>
<p style="padding-left: 30px;"><strong></strong></p>
<p><span style="color: #0000ff; font-family: Consolas; font-size: x-small;"><span style="color: #0000ff; font-family: Consolas; font-size: x-small;"><span style="color: #0000ff; font-family: Consolas; font-size: x-small;">void</span></span></span><span style="font-family: Consolas; font-size: x-small;"><span style="font-family: Consolas; font-size: x-small;"> AppBox_CommandsRequested(</span></span><span style="color: #2b91af; font-family: Consolas; font-size: x-small;"><span style="color: #2b91af; font-family: Consolas; font-size: x-small;"><span style="color: #2b91af; font-family: Consolas; font-size: x-small;">SettingsPane</span></span></span><span style="font-family: Consolas; font-size: x-small;"><span style="font-family: Consolas; font-size: x-small;"> sender, </span></span><span style="color: #2b91af; font-family: Consolas; font-size: x-small;"><span style="color: #2b91af; font-family: Consolas; font-size: x-small;"><span style="color: #2b91af; font-family: Consolas; font-size: x-small;">SettingsPaneCommandsRequestedEventArgs</span></span></span><span style="font-family: Consolas; font-size: x-small;"><span style="font-family: Consolas; font-size: x-small;"> args)</span></span></p>
<p>{</p>
<p style="padding-left: 30px;"><span style="color: #008000; font-family: Consolas; font-size: x-small;"><span style="color: #008000; font-family: Consolas; font-size: x-small;"><span style="color: #008000; font-family: Consolas; font-size: x-small;">//definindo a função que será executada</span></span></span></p>
<p style="padding-left: 30px;"><span style="color: #2b91af; font-family: Consolas; font-size: x-small;"><span style="color: #2b91af; font-family: Consolas; font-size: x-small;"><span style="color: #2b91af; font-family: Consolas; font-size: x-small;">UICommandInvokedHandler</span></span></span><span style="font-family: Consolas; font-size: x-small;"><span style="font-family: Consolas; font-size: x-small;"> handler = </span></span><span style="color: #0000ff; font-family: Consolas; font-size: x-small;"><span style="color: #0000ff; font-family: Consolas; font-size: x-small;"><span style="color: #0000ff; font-family: Consolas; font-size: x-small;">new</span></span></span><span style="color: #2b91af; font-family: Consolas; font-size: x-small;"><span style="color: #2b91af; font-family: Consolas; font-size: x-small;"><span style="color: #2b91af; font-family: Consolas; font-size: x-small;">UICommandInvokedHandler</span></span></span><span style="font-family: Consolas; font-size: x-small;"><span style="font-family: Consolas; font-size: x-small;">(onSettingsCommand);</span></span></p>
<p style="padding-left: 30px;"><span style="color: #008000; font-family: Consolas; font-size: x-small;"><span style="color: #008000; font-family: Consolas; font-size: x-small;"><span style="color: #008000; font-family: Consolas; font-size: x-small;">//Criando o objeto SettingsCommand com a função que será executada.</span></span></span></p>
<p style="padding-left: 30px;"><span style="color: #2b91af; font-family: Consolas; font-size: x-small;"><span style="color: #2b91af; font-family: Consolas; font-size: x-small;"><span style="color: #2b91af; font-family: Consolas; font-size: x-small;">SettingsCommand</span></span></span><span style="font-family: Consolas; font-size: x-small;"><span style="font-family: Consolas; font-size: x-small;"> aboutCommand = </span></span><span style="color: #0000ff; font-family: Consolas; font-size: x-small;"><span style="color: #0000ff; font-family: Consolas; font-size: x-small;"><span style="color: #0000ff; font-family: Consolas; font-size: x-small;">new</span></span></span><span style="color: #2b91af; font-family: Consolas; font-size: x-small;"><span style="color: #2b91af; font-family: Consolas; font-size: x-small;"><span style="color: #2b91af; font-family: Consolas; font-size: x-small;">SettingsCommand</span></span></span><span style="font-family: Consolas; font-size: x-small;"><span style="font-family: Consolas; font-size: x-small;">(</span></span><span style="color: #a31515; font-family: Consolas; font-size: x-small;"><span style="color: #a31515; font-family: Consolas; font-size: x-small;"><span style="color: #a31515; font-family: Consolas; font-size: x-small;">&#8220;aboutSettings&#8221;</span></span></span><span style="font-family: Consolas; font-size: x-small;"><span style="font-family: Consolas; font-size: x-small;">, </span></span><span style="color: #a31515; font-family: Consolas; font-size: x-small;"><span style="color: #a31515; font-family: Consolas; font-size: x-small;"><span style="color: #a31515; font-family: Consolas; font-size: x-small;">&#8220;Sobre&#8221;</span></span></span><span style="font-family: Consolas; font-size: x-small;"><span style="font-family: Consolas; font-size: x-small;">, handler);</span></span></p>
<p style="padding-left: 30px;"><span style="color: #008000; font-family: Consolas; font-size: x-small;"><span style="color: #008000; font-family: Consolas; font-size: x-small;"><span style="color: #008000; font-family: Consolas; font-size: x-small;">//Criando o objeto SettingsCommand com a função que será executada.</span></span></span></p>
<p style="padding-left: 30px;"><span style="color: #2b91af; font-family: Consolas; font-size: x-small;"><span style="color: #2b91af; font-family: Consolas; font-size: x-small;"><span style="color: #2b91af; font-family: Consolas; font-size: x-small;">SettingsCommand</span></span></span><span style="font-family: Consolas; font-size: x-small;"><span style="font-family: Consolas; font-size: x-small;"> privacyCommand = </span></span><span style="color: #0000ff; font-family: Consolas; font-size: x-small;"><span style="color: #0000ff; font-family: Consolas; font-size: x-small;"><span style="color: #0000ff; font-family: Consolas; font-size: x-small;">new</span></span></span><span style="color: #2b91af; font-family: Consolas; font-size: x-small;"><span style="color: #2b91af; font-family: Consolas; font-size: x-small;"><span style="color: #2b91af; font-family: Consolas; font-size: x-small;">SettingsCommand</span></span></span><span style="font-family: Consolas; font-size: x-small;"><span style="font-family: Consolas; font-size: x-small;">(</span></span><span style="color: #a31515; font-family: Consolas; font-size: x-small;"><span style="color: #a31515; font-family: Consolas; font-size: x-small;"><span style="color: #a31515; font-family: Consolas; font-size: x-small;">&#8220;privacyCommand&#8221;</span></span></span><span style="font-family: Consolas; font-size: x-small;"><span style="font-family: Consolas; font-size: x-small;">, </span></span><span style="color: #a31515; font-family: Consolas; font-size: x-small;"><span style="color: #a31515; font-family: Consolas; font-size: x-small;"><span style="color: #a31515; font-family: Consolas; font-size: x-small;">&#8220;Política de Privacidade&#8221;</span></span></span><span style="font-family: Consolas; font-size: x-small;"><span style="font-family: Consolas; font-size: x-small;">, handler);</span></span></p>
<p style="padding-left: 30px;"><span style="color: #008000; font-family: Consolas; font-size: x-small;"><span style="color: #008000; font-family: Consolas; font-size: x-small;"><span style="color: #008000; font-family: Consolas; font-size: x-small;">//Incluindo o objeto na lista de comandos da aplicação.</span></span></span></p>
<p style="padding-left: 30px;">args.Request.ApplicationCommands.Add(aboutCommand);</p>
<p style="padding-left: 30px;">args.Request.ApplicationCommands.Add(privacyCommand);</p>
<p>}</p>
<p>Se executar o aplicativo nesse momento, já vai ser possível visualizar o item de &#8220;Política de privacidade&#8221; <img src='http://viniciussouza.azurewebsites.net/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>O próximo passo, é alterar a função que chama a página a ser apresentada, para tanto vamos atualizar o código do método onSettingsCommand. Que está logo abaixo do método anterior.</p>
<p>Nesse método temos esse trecho de código que é executado quando o id aboutSettings é enviado. Nós definimos esse valor no momento de criar o objeto do tipo SettingsCommand.</p>
<p><span style="font-family: Consolas; font-size: x-small;"> <span style="color: #0000ff;"><span style="color: #0000ff;"><span style="color: #0000ff;">if</span></span></span> (command.Id.ToString() == <span style="color: #a31515;"><span style="color: #a31515;"><span style="color: #a31515;">&#8220;aboutSettings&#8221;</span></span></span>)</span></p>
<p>{</p>
<p style="padding-left: 30px;"><span style="font-family: Consolas; font-size: x-small;"><span style="font-family: Consolas; font-size: x-small;">controle = </span></span><span style="color: #0000ff; font-family: Consolas; font-size: x-small;"><span style="color: #0000ff; font-family: Consolas; font-size: x-small;"><span style="color: #0000ff; font-family: Consolas; font-size: x-small;">new</span></span></span><span style="color: #2b91af; font-family: Consolas; font-size: x-small;"><span style="color: #2b91af; font-family: Consolas; font-size: x-small;"><span style="color: #2b91af; font-family: Consolas; font-size: x-small;">AboutControl</span></span></span><span style="font-family: Consolas; font-size: x-small;"><span style="font-family: Consolas; font-size: x-small;">();</span></span></p>
<p style="padding-left: 30px;"><span style="font-family: Consolas; font-size: x-small;"><span style="font-family: Consolas; font-size: x-small;"> title = </span></span><span style="color: #a31515; font-family: Consolas; font-size: x-small;"><span style="color: #a31515; font-family: Consolas; font-size: x-small;"><span style="color: #a31515; font-family: Consolas; font-size: x-small;">&#8220;Sobre&#8221;</span></span></span><span style="font-family: Consolas; font-size: x-small;"><span style="font-family: Consolas; font-size: x-small;">;</span></span></p>
<p>}</p>
<p>Temos agora que incluir mais uma if, com o ID que acabamos de criar. Reparem que a classe PrivacyControl, não existe em nosso projeto.</p>
<p><span style="color: #0000ff; font-family: Consolas; font-size: x-small;"><span style="color: #0000ff; font-family: Consolas; font-size: x-small;"><span style="color: #0000ff; font-family: Consolas; font-size: x-small;">if</span></span></span><span style="font-family: Consolas; font-size: x-small;"><span style="font-family: Consolas; font-size: x-small;"> (command.Id.ToString() == </span></span><span style="color: #a31515; font-family: Consolas; font-size: x-small;"><span style="color: #a31515; font-family: Consolas; font-size: x-small;"><span style="color: #a31515; font-family: Consolas; font-size: x-small;">&#8220;privacyCommand&#8221;</span></span></span><span style="font-family: Consolas; font-size: x-small;"><span style="font-family: Consolas; font-size: x-small;">)</span></span></p>
<p>{</p>
<p style="padding-left: 30px;"><span style="font-family: Consolas; font-size: x-small;"><span style="font-family: Consolas; font-size: x-small;"> controle = </span></span><span style="color: #0000ff; font-family: Consolas; font-size: x-small;"><span style="color: #0000ff; font-family: Consolas; font-size: x-small;"><span style="color: #0000ff; font-family: Consolas; font-size: x-small;">new</span></span></span><span style="font-family: Consolas; font-size: x-small;"><span style="font-family: Consolas; font-size: x-small;"> PrivacyControl();</span></span></p>
<p style="padding-left: 30px;"><span style="font-family: Consolas; font-size: x-small;"><span style="font-family: Consolas; font-size: x-small;"> title = </span></span><span style="color: #a31515; font-family: Consolas; font-size: x-small;"><span style="color: #a31515; font-family: Consolas; font-size: x-small;"><span style="color: #a31515; font-family: Consolas; font-size: x-small;">&#8220;Política de privacidade&#8221;</span></span></span><span style="font-family: Consolas; font-size: x-small;"><span style="font-family: Consolas; font-size: x-small;">;</span></span></p>
<p>}</p>
<p>Para funcionar temos que duplicar o controle AboutControl.xaml  e AboutControl.xaml.cs, para tanto selecionem os dois arquivos no Solution Explorer do Visual Studio, copiem e colem (CTRL + C e depois CTRL + V).</p>
<p>Você vai ter dois novos arquivos no seu projeto Copy of AboutControl.xaml e Copy of AboutControl.xaml.cs.</p>
<p>Renomeiem os arquivos para PrivacyControl.xaml e PrivacyControl.xaml.cs.</p>
<p>Em seguida abra o arquivo PrivacyControl.xaml.cs e altere tudo que tiver <strong>AboutControl </strong>para<strong> PrivacyControl.</strong></p>
<p>Depois abra o outro arquivo PrivacyControl.xaml, na segunda linha do arquivo você vai verifica a seguinte linha</p>
<p><span style="color: #ff0000; font-family: Consolas; font-size: x-small;"><span style="color: #ff0000; font-family: Consolas; font-size: x-small;"><span style="color: #ff0000; font-family: Consolas; font-size: x-small;">x</span></span></span><span style="color: #0000ff; font-family: Consolas; font-size: x-small;"><span style="color: #0000ff; font-family: Consolas; font-size: x-small;"><span style="color: #0000ff; font-family: Consolas; font-size: x-small;">:</span></span></span><span style="color: #ff0000; font-family: Consolas; font-size: x-small;"><span style="color: #ff0000; font-family: Consolas; font-size: x-small;"><span style="color: #ff0000; font-family: Consolas; font-size: x-small;">Class</span></span></span><span style="color: #0000ff; font-family: Consolas; font-size: x-small;"><span style="color: #0000ff; font-family: Consolas; font-size: x-small;"><span style="color: #0000ff; font-family: Consolas; font-size: x-small;">=&#8221;Win8AppBox.AboutControl</span></span></span></p>
<p>Altere essa linha para</p>
<p><span style="color: #ff0000; font-family: Consolas; font-size: x-small;"><span style="color: #ff0000; font-family: Consolas; font-size: x-small;"><span style="color: #ff0000; font-family: Consolas; font-size: x-small;">x</span></span></span><span style="color: #0000ff; font-family: Consolas; font-size: x-small;"><span style="color: #0000ff; font-family: Consolas; font-size: x-small;"><span style="color: #0000ff; font-family: Consolas; font-size: x-small;">:</span></span></span><span style="color: #ff0000; font-family: Consolas; font-size: x-small;"><span style="color: #ff0000; font-family: Consolas; font-size: x-small;"><span style="color: #ff0000; font-family: Consolas; font-size: x-small;">Class</span></span></span><span style="color: #0000ff; font-family: Consolas; font-size: x-small;"><span style="color: #0000ff; font-family: Consolas; font-size: x-small;"><span style="color: #0000ff; font-family: Consolas; font-size: x-small;">=&#8221;Win8AppBox.PrivacyControl</span></span></span></p>
<p>E agora já tem o controle de privacidade funcional, agora deve alterar o conteúdo do arquivo uma vez que traz o mesmo conteúdo do AboutControl. Coloque um &lt;TextBlock&gt; igual a que temos nas página do templates e inclua o texto de política e privacidade.</p>
<p>Com isso concluímos nossa alteração <img src='http://viniciussouza.azurewebsites.net/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>&nbsp;</p>
<p><strong><a name="section5"></a>5) Gerar o pacote para a Windows Store.</strong></p>
<p>Depois de realizar todas as alterações necessárias, temos que empacotar o nosso aplicativo para fazer upload para a Windows Store.</p>
<p>O processo para gerar o pacote, está em detalhes no vídeo 2 do AppDay <a href="http://channel9.msdn.com/posts/AppDay-Parte-2">http://channel9.msdn.com/posts/AppDay-Parte-2</a>.</p>
<p>&nbsp;</p>
<p>Algumas dicas:</p>
<p>1) Não deixem de alterar o tipo de execução por  padrão o Visual Studio utiliza o modo de Debug, e a Windows Store não permite que aplicativos sejam certificados no modo de debug.</p>
<p>2) Execute o <strong>Windows App Certification Kit (WACK)</strong> quando gerarem o  pacote de upload, o WACK faz parte da validação que é realizada na Windows Store, ou seja, se tiverem algum problema nesse ponto é possível corrigir e não perder tempo na submissão. Durante a execução deixem que o programa faça o teste sem ter interferência, o processo leva entre 6 &#8211; 10 minutos.</p>
<p>Imagens que devem ser informadas no Arquivo de Manifesto. Acesse a ferramenta Gerador de Imagens para gerar as imagens.</p>
<p><a href="http://bit.ly/w8img">http://bit.ly/w8img</a></p>
<p>3) Quem estiver fazendo uso do Publisher, veja esse vídeo que faço os procedimentos para fazer o WACK e submeter o aplicativo <a href="http://channel9.msdn.com/posts/Realizando-o-WACK-e-submetendo-o-aplicativo-pelo-publisher">http://channel9.msdn.com/posts/Realizando-o-WACK-e-submetendo-o-aplicativo-pelo-Publisher</a></p>
<p>&nbsp;</p>
<p><strong><a name="section6"></a>6) Preenchimento do formulário de submissão.</strong></p>
<p>O formulário é super importante é nesse ponto que temos que prestar atenção nos detalhes.</p>
<p><a name="section61"></a><strong>6.1) Detalhes da venda</strong></p>
<ul>
<li>Deixe o valor, como gratuito/free. Lembra-se que essa é a sua primeira aplicação e o intuito aqui é aprender, depois que estiver familiarizado com o desenvolvimento de aplicativos para Windows 8 é a hora de começar a pensar na estratégia de comercialização.</li>
<li>Escolha o Brasil como  mercado que vai ficar disponível o seu aplicativo.</li>
<li>Escolha uma categoria/sub categoria que esteja de acordo com o conteúdo do seu aplicativo.</li>
</ul>
<p><a name="section62"></a><strong>6.2) Recursos avançados (Advanced Features)</strong></p>
<p>Nesse ponto não altere nada e clique em salvar.</p>
<p>Essa página é utilizada para realizar o In App Purchase uma forma de realizar monetização no aplicativo, e não estamos fazendo isso agora.</p>
<p><strong><a name="section63"></a>6.3) Faixa etária e certificados   (Age rating and rating certificates)</strong></p>
<p>É importante que escolhemos a faixa etária de acordo com o conteúdo de nosso aplicativo, na maioria dos casos iremos utilizar  a opção <strong>&#8220;12+ Igual ou maior de 12 anos de idade&#8221; (12+ Suitable for ages 12 na older)</strong></p>
<p>Em seguida clique em Salvar, já que não temos certificados para fazer upload.</p>
<p><a name="section64"></a><strong>6.4) Criptografia (Cryptography)</strong></p>
<p>Como o nosso aplicativo não utiliza criptografia, responde a pergunta &#8220;Essa aplicação possui, suporta, ou utiliza criptografia?&#8221; (Does this app call, support, contain, or use cryptography or encryption?) com NÃO.</p>
<p>Em seguida clique sobre a caixa de verificação &#8220;Eu confirmo que este aplicativo será largamente distribuído&#8230;. &#8221; e depois Salve.</p>
<p><a name="section65"></a><strong>6.5) Pacotes (Packages)</strong></p>
<p>Faça upload do arquivo <strong>.appxupload</strong> gerado e testado pelo WACK (Windows Application Certification Kit), espere que o processo de upload termine antes de sair da página.</p>
<p><a name="section66"></a><strong>6.6) Descrição (Description)</strong></p>
<p style="padding-left: 30px;">1) Campo Descrição</p>
<p style="padding-left: 30px;">Esse é um dos pontos mais importantes do formulário, é aqui que você vai fazer o papel de vendedor do seu aplicativo. O importante nesse passo é colocar na descrição  informações que sejam de valor para o usuário  que vai fazer download do aplicativo, sendo fiel as funcionalidades e conteúdo.</p>
<p style="padding-left: 30px;">2) Campo Funcionalidades da app (App Features)</p>
<p style="padding-left: 30px;">Inclua o seguinte texto: &#8220;Implementa Search, LiveTile e Share na página de itens.&#8221;</p>
<p style="padding-left: 30px;">3) Telas do Aplicaitvo (ScreenShots)</p>
<p style="padding-left: 30px;">Um bom aplicativo possui belas imagens &#8220;imagens falam mais que mil palavras&#8221;, no mundo de desenvolvimento de aplicativos essa máxima ganha ainda mais valor.</p>
<p style="padding-left: 30px;">Coloque pelo menos duas imagens do aplicativo, não coloque todas as telas caso contrário o usuário não terá surpresas ao executar o aplicativo.</p>
<p style="padding-left: 30px;">Coloque uma descrição sucinta em cada imagem do aplicativo.</p>
<p style="padding-left: 30px;">4) Campo Hardware Recomendado</p>
<p style="padding-left: 30px;">Pode deixar esse campo em branco, já que não precisamos de um hardware específico para rodar o aplicativo.</p>
<p style="padding-left: 30px;">5)  Campo Palavra Chave (Keywords)</p>
<p style="padding-left: 30px;">Inclua palavras que serão utilizadas na busca do seu aplicativo, pensando no tema que estão utilizando. Inclua pelo menos uma palavra.</p>
<p style="padding-left: 30px;">6) Campo Direito de Cópia (Copyright)</p>
<p style="padding-left: 30px;">Pode incluir algo como: <strong>&#8220;Todos direitos reservados à &lt;seu nome&gt;&#8221;</strong></p>
<p style="padding-left: 30px;">7) Termos de licença adicionais (Addtional License terms)</p>
<p style="padding-left: 30px;">Pode deixar esse campo em branco.</p>
<p style="padding-left: 30px;">8 ) Imagens promocionais</p>
<p style="padding-left: 30px;">A loja pode colocar o seu aplicativo em Highlight (Destaque) de alguma categoria para isso é necessário incluir essas imagens.</p>
<p style="padding-left: 30px;">Para esse primeiro aplicativo pode ficar sem imagens, nesse setor.</p>
<p style="padding-left: 30px;">9) Informação de contato ( Support Contact Info)</p>
<p style="padding-left: 30px;">Nesse campo de preferência inclua o endereço de sua página Web, se não tiver um blog por exemplo pode colocar o seu endereço de e-mail.</p>
<p style="padding-left: 30px;">10) Política de privacidade (Privacy Policy)</p>
<p style="padding-left: 30px;">Esse campo pode ficar em branco, pois <strong>não utilizamos internet</strong> em nosso aplicativo. Se o aplicativo de vocês utilizarem internet é <strong>OBRIGATÓRIO</strong> que seja informado uma URL com o texto da política de privacidade, além de informar no arquivo de manifesto que está utilizando a internet.</p>
<p style="padding-left: 30px;">11) Notas para o testador (Notes to testes)</p>
<p style="padding-left: 30px;">Pode salvar sem incluir nota para os testadores.</p>
<p style="padding-left: 30px;">Esse campo é geralmente utilizado quando o aplicativo requer um usuário/senha para ser testado ou possui uma navegação fora do usual, o que não é o nosso caso.</p>
<p style="padding-left: 30px;">Depois de salvar esse passo e todos os passos estiver com um Check de verificado, envie o aplicativo para certificação.</p>
<p style="padding-left: 30px;">Se não tiver incluído o código de verificação, o processo não vai ser realizado.</p>
<p>&nbsp;</p>
<p><a name="final"></a><strong>Conclusão</strong></p>
<p>O AppDay está só começando temos muito o que fazer e estamos de prontidão para ajuda-los, sejam resilientes! Vários obstáculos vão surgir no meio do caminho, vejam os artigos que tanto eu quanto o caverna estamos divulgando e nos sigam no Twitter e no Facebook para receber atualização sobre novos artigos e conteúdos relevantes.</p>
<p>&nbsp;</p>
<p>Vejam também o artigo do Caverna: <a href="http://fernandomartin.azurewebsites.net/?p=7831">http://fernandomartin.azurewebsites.net/?p=7831</a></p>
<p>Abraço,</p>
<p>&nbsp;</p>
<p>Vinícius</p>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://viniciussouza.azurewebsites.net/pos-kickoff-do-appday/feed/</wfw:commentRss>
		<slash:comments>90</slash:comments>
		</item>
		<item>
		<title>Templates para Windows 8 &#8211; Como utilizá-los para tirar maior proveito.</title>
		<link>http://viniciussouza.azurewebsites.net/templates-para-windows-8-como-utiliza-los-para-tirar-maior-proveito/</link>
		<comments>http://viniciussouza.azurewebsites.net/templates-para-windows-8-como-utiliza-los-para-tirar-maior-proveito/#comments</comments>
		<pubDate>Fri, 05 Apr 2013 22:01:06 +0000</pubDate>
		<dc:creator>Vinícius Souza</dc:creator>
				<category><![CDATA[Destaque]]></category>
		<category><![CDATA[Eventos]]></category>
		<category><![CDATA[Windows 8]]></category>
		<category><![CDATA[AppDay]]></category>
		<category><![CDATA[azure]]></category>
		<category><![CDATA[Mobile Services]]></category>
		<category><![CDATA[Visual Studio]]></category>

		<guid isPermaLink="false">http://viniciussouza.azurewebsites.net/?p=3931</guid>
		<description><![CDATA[Olá amigos! Nesse artigo vou ajudá-los a entender melhor o código dos templates do AppDay, apresentando algumas das novas funcionalidades do Windows 8 e o código Os templates são um facilitador para o desenvolvimento de seu aplicativo principalmente em se tratando de layout, mas como tirar maior proveito dos templates do AppDay ou qualquer outro [...]]]></description>
			<content:encoded><![CDATA[<p>Olá amigos!</p>
<p>Nesse artigo vou ajudá-los a entender melhor o código dos templates do <a title="App Day " href="http://www.microsoft.com/brasil/apps/appday.html" target="_blank">AppDay</a>, apresentando algumas das novas funcionalidades do Windows 8 e o código <img src='http://viniciussouza.azurewebsites.net/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Os templates são um facilitador para o desenvolvimento de seu aplicativo principalmente em se tratando de layout, mas como tirar maior proveito dos templates do AppDay ou qualquer outro template que você possa vir a utilizar?</p>
<p>A dica aqui é ir fundo nas funcionalidades do templates, não ficando limitado em alterar apenas a fonte de dados do template, mas adicionando mais desafios aos poucos.</p>
<p>O template é um acelerador, para que você consiga trabalhar em um aplicativo para o Windows 8 funcional e aprender as principais mudanças que a plataforma Windows está entregando. Como a nova linguagem visual, o WinRT (Windows RunTime) e a Windows Store.</p>
<p>Veja o vídeo que traz os passos de alterar o templates de Catálogo Eletrônico para um aplicativo de Cup Cackes, <a href="http://channel9.msdn.com/posts/AppDay-Parte-3">http://channel9.msdn.com/posts/AppDay-Parte-3</a>.</p>
<p>&nbsp;</p>
<p>Os templates que estou me referindo estão disponíveis no Codeplex! O portal de código open source da Microsoft.</p>
<p><a href="http://win8appdaytemplate1.codeplex.com/">http://win8appdaytemplate1.codeplex.com/</a> - Catálogo Eletrônico</p>
<p><a href="http://win8appdaytemplate1.codeplex.com/">http://win8appdaytemplate2.codeplex.com/</a> - Dicas de viagens</p>
<p><a href="http://win8appdaytemplate1.codeplex.com/">http://win8appdaytemplate3.codeplex.com/</a> - Ferrari</p>
<p><a href="http://win8appdaytemplate1.codeplex.com/">http://win8appdaytemplate4.codeplex.com/</a> - Indiana Jones</p>
<p><a href="http://win8appdaytemplate1.codeplex.com/">http://win8appdaytemplate5.codeplex.com/</a> - Xbox Live</p>
<p>Basicamente os dois templates tem a mesma estrutura, mudando mais o layout e o finalidade de cada um deles. Não se prendam ao tema do template, e sim qual linguagem visual mais se adequa a forma que deseja expressar a sua ideia.</p>
<p>Ficarei focado no código,  apresentando um exemplo visual de uma funcionalidade do Windows 8 que o template implementa e onde você vai encontrar a sua implementação no código. Sem mais milongas vamos por a mão na massa!<br />
1) Contrato de Search (ou simplesmente busca);<br />
<a href="http://viniciussouza.azurewebsites.net/wp-content/uploads/2013/04/Caes-Search.png"><img class="alignleft  wp-image-3991" title="Caes Search" src="http://viniciussouza.azurewebsites.net/wp-content/uploads/2013/04/Caes-Search-300x168.png" alt="" width="383" height="218" /></a>  O contrato de Search é importante por dois motivos:</p>
<p><strong>1) Possibilita que o usuário encontre a informação que deseja.</strong></p>
<p>Aplicativos com muito texto ou com muita granularidade na informação, pode trazer um certo grau de complexidade para o usuário encontrar o que deseja.</p>
<p><strong>2) Entrega mais relevância ao aplicativo, dando ao desenvolvedor mais exposição no Windows.</strong></p>
<p>Sempre que o usuário realizar uma busca no Windows 8 (WinKey + Q), uma lista será apresentada para o usuário com os aplicativos que possuem a o contrato de serach implementado e com isso o usuário pode executar o aplicativo a partir da busca, como apresentado na figura ao lado.</p>
<p>&nbsp;</p>
<p>Para implementar o Contrato de Search no seu aplicativo, antes mesmo de escrever qualquer código temos que alterar o arquivo de <strong>manifesto (Package.appxmanifest)</strong> em nosso projeto. Ao abrir o arquivo de manifesto no Visual Studio, você verá 4 abas (Application UI, Capabilities, Declarations e Packaging) a opção que vamos alterar é a <strong>Declarations (declarações)</strong>.</p>
<p>As declarações é a maneira de informar o Windows qual ou quais funcionalidade que o seu aplicativo utiliza.</p>
<p>Na aba <strong>Declarations</strong> teremos uma combo com todas a declarações disponíveis, escolha a opção Search e clique em Add (adicionar).</p>
<p>O próximo passo é alterar o arquivo <strong>App.xml.cs</strong> incluindo um novo método de ativação, que será executado quando o usuário clicar sobre o ícone da sua aplicação (caso ela não seja a aplicação ativa).  Abra o arquivo App.xml.cs do template e procure pelo método abaixo.</p>
<p><strong>OnSearchActivated(Windows.ApplicationModel.Activation.SearchActivatedEventArgs args)</strong></p>
<p>O método faz basicamente o mesmo procedimento do método <strong>OnLaunch</strong> (executado quando o usuário clica sobre o Tile do seu aplicativo), incluindo uma funcionalidade a mais que é a de executar o filtro antes de redirecionar o usuário para a página inicial, que para esse caso será a página <strong>ResultadoBusca.xml</strong>.</p>
<p>&nbsp;</p>
<p>2) Contrato de Share Source;</p>
<p><a href="http://viniciussouza.azurewebsites.net/wp-content/uploads/2013/04/Share-Contract-2.png"><img class="alignleft size-medium wp-image-4031" title="Share Contract 2" src="http://viniciussouza.azurewebsites.net/wp-content/uploads/2013/04/Share-Contract-2-300x168.png" alt="" width="300" height="168" /></a>Essa é uma funcionalidade do Windows 8 que mais gosto, pois possibilita uma maneira padronizada de comunicação entre os aplicativos que o usuário possui. Para tanto, é necessário que o aplicativo que deseja receber dados de outros aplicativos implemente outro contrato, o <strong>Share Target</strong> e o aplicativo que quer compartilhar implemente o contrato <strong>Share Source</strong>.</p>
<p>Nesse item vamos cobrir o <strong>Share Source</strong> que é o contrato implementado pelo template, esse contrato é um pouco diferente dos demais, uma vez que não é necessário adicionar no arquivo de manifesto a intenção de fazer o compartilhamento de dados.</p>
<p>Informamos o Windows que aplicação realiza compartilhamento de informação através da classe <strong>DataTransferManager</strong>, no template utilizo a classe DataTransferManager no detalhamento de um item arquivo <strong>ItemPage.xaml.cs</strong>.</p>
<p>A utilização da classe se dá no método <strong>OnNavigatedTo</strong>, este método é executado sempre que a página for aberta. Nesse método recupero uma instância da classe DataTransferManager através do método estático <strong>GetForCurrentView</strong>, depois que consigo a instância do objeto registro dois handlers (métodos que serão executados quando o evento ocorrer) <strong>DataRequested</strong> e <strong>TargetApplicationChosen</strong>.</p>
<p><em>protected override void OnNavigatedTo(NavigationEventArgs e)         {            </em></p>
<p style="padding-left: 30px;"><em>base.OnNavigatedTo(e);</em></p>
<p style="padding-left: 30px;"><em>// Register the current page as a share source.            </em></p>
<p style="padding-left: 30px;"><em>this.dataTransferManager = DataTransferManager.GetForCurrentView();            </em></p>
<p style="padding-left: 30px;"><em>this.dataTransferManager.DataRequested += new TypedEventHandler&lt;DataTransferManager, DataRequestedEventArgs&gt;(<strong>this.OnDataRequested</strong>);  </em></p>
<p style="padding-left: 30px;"><em>this.dataTransferManager.TargetApplicationChosen += <strong>dataTransferManager_TargetApplicationChosen</strong>;        </em></p>
<p><em>}</em></p>
<p>O evento <strong>DataRequested</strong> é executado quando ativamos o share do Windows (pelo charms, ou pela tecla de atalho WinKey+H), e o evento <strong>TargetApplicationChosen</strong> é executado em um segundo momento do share, quando o usuário seleciona a aplicação desejada para receber os dados que serão compartilhados. O Windows lista todas as aplicações que implementam o contrato de <strong>Share Target</strong> e que dão suporte para o tipo de dado compartilhado.</p>
<p>private void OnDataRequested(<strong>DataTransferManager</strong> sender, <strong>DataRequestedEventArgs</strong> e)</p>
<p>O método <strong>OnDataRequested</strong> recebe dois parâmetros <strong>sender</strong> e <strong>e</strong>, vamos utilizar o parâmetro e do tipo DataQuestEventArgs.</p>
<p>No template utilizo um método separado chamado <strong>GetShareContent</strong> para preencher os dados, mas também poderia fazer tudo dentro do próprio método <strong>OnDataRequested</strong>.</p>
<p>Verifiquem o conteúdo do método GetShareContent, com atenção ao seguinte código.</p>
<p style="padding-left: 30px;"><em>requestData.SetUri(new Uri(_baseUri, item.ImageUrl));</em></p>
<p style="padding-left: 30px;"><em>requestData.Properties.Title = string.Format(&#8220;{0} &#8211; {1}&#8221;, Win8CatalogApplication.Instance.Empresa.Nome, item.Nome);</em></p>
<p style="padding-left: 30px;"><em> requestData.Properties.Description = item.Descricao;</em></p>
<p style="padding-left: 30px;"><em> requestData.SetText(item.Descricao);</em></p>
<p style="padding-left: 30px;"><em>requestData.Properties.Thumbnail = imageStreamRef;</em></p>
<p style="padding-left: 30px;"><em>requestData.SetBitmap(imageStreamRef);</em></p>
<p>O objeto requestData é do tipo <strong>DataPackage </strong>e recebeu uma instância da propriedade <strong>DataRequestedEventArgs</strong><strong>.Request.Data</strong>, as aplicações apresentadas pelo Windows estão diretamente vinculadas ao tipo de dados que preenchemos.</p>
<p>3) Live Tile;</p>
<p>Ter acesso ao conteúdo ou ao status do aplicativo sem ter que executar o aplicativo essa é a grande vantagem do Live Tile,</p>
<p><a href="http://viniciussouza.azurewebsites.net/wp-content/uploads/2013/04/Live-Tile-1.png"><img title="Live Tile 1" src="http://viniciussouza.azurewebsites.net/wp-content/uploads/2013/04/Live-Tile-1.png" alt="" width="311" height="147" /></a>  <a href="http://viniciussouza.azurewebsites.net/wp-content/uploads/2013/04/Live-Tile-2.png"><img title="Live Tile 2" src="http://viniciussouza.azurewebsites.net/wp-content/uploads/2013/04/Live-Tile-2.png" alt="" width="311" height="149" /></a></p>
<p>Acima temos um exemplo de uma App com a funcionalidade de Live Tile implementada, a primeira imagem apresenta o Tile do aplicativo quando desligamos o Live Tile e a segunda com o Live Tile habilitado.</p>
<p>Essa aplicação em questão é um Hub de fotos, a implementação do Live Tile apresenta algumas das fotos do aplicativo.</p>
<p>O Windows suporta vários tipos de Live Tiles tile <a title="Catálogo de templates para Live Tiles" href="http://msdn.microsoft.com/en-us/library/windows/apps/Hh761491.aspx " target="_blank">template catalog</a> , utilize aquele que melhor se adequar as suas necessidades.</p>
<p>No template é utilizada um Namespace chamado EnableLiveTile para criar os Live Tiles, utilize nos seus projetos <img src='http://viniciussouza.azurewebsites.net/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Este é o código utilizado pelo template para incluir o Live Tile</p>
<p>EnableLiveTile.CreateLiveTile.ShowliveTile(true, Win8CatalogApplication.Instance.Empresa.Nome);</p>
<p>4) App Bar;</p>
<p><a href="http://viniciussouza.azurewebsites.net/wp-content/uploads/2013/04/App-Bar.png"><img class="alignleft size-medium wp-image-4131" title="App Bar" src="http://viniciussouza.azurewebsites.net/wp-content/uploads/2013/04/App-Bar-300x168.png" alt="" width="300" height="168" /></a>A App Bar é um recurso utilizado acessar recursos/ou funcionalidades que são comuns durante todo o aplicativo, existe um documento bem completo explicando exatamente quando e como utilizar esse recurso, vale a pena dar uma conferida.</p>
<p><a href="http://msdn.microsoft.com/pt-br/library/windows/apps/xaml/hh781231.aspx">http://msdn.microsoft.com/pt-br/library/windows/apps/xaml/hh781231.aspx</a></p>
<p>No template utilizei a app bar para ajudar o usuário voltar para a home sempre que desejar, a App Bar pode ser utilizada no Topo da página como na figura ao lado ou na parte Inferior da página.</p>
<p>A App Bar é um componente visual e por isso é definido no XAML, abra o arquivo <strong>HomePage.xaml</strong> para verificar como utilizar.</p>
<p>&nbsp;</p>
<pre>&lt;Page.TopAppBar&gt;</pre>
<pre style="padding-left: 30px;">&lt;AppBar x:Name="TopApp" Padding="10,0,10,0" MinHeight="110" Background="#D1000000" BorderBrush="#D1000000"&gt;</pre>
<pre>           &lt;Grid Height="100" Margin="40,0"&gt;</pre>
<pre>                 &lt;StackPanel Margin="0" Orientation="Horizontal" VerticalAlignment="Center" HorizontalAlignment="Left"&gt;</pre>
<pre>                     &lt;Button x:Name="btnHome" HorizontalAlignment="Right" BorderBrush="{x:Null}" BorderThickness="0" FontWeight="Normal" VerticalAlignment="Stretch" Padding="0" Style="{StaticResource TopAppbarBtnStyle}" Click="btnHome_Click" &gt;</pre>
<pre>                         &lt;Grid HorizontalAlignment="Center" VerticalAlignment="Center" Height="92" Margin="0" Width="92"&gt;</pre>
<pre>                             &lt;Image HorizontalAlignment="Center" VerticalAlignment="Center" Source="Assets/AppBarBtn/HomeappbarBtn.png" Width="92" Margin="0" Height="92"/&gt;</pre>
<pre>                         &lt;/Grid&gt;</pre>
<pre>                     &lt;/Button&gt;</pre>
<pre>                 &lt;/StackPanel&gt;</pre>
<pre>             &lt;/Grid&gt;</pre>
<pre>       &lt;/AppBar&gt;</pre>
<pre>&lt;/Page.TopAppBar&gt;</pre>
<pre></pre>
<p>5) Settings;</p>
<p><a href="http://viniciussouza.azurewebsites.net/wp-content/uploads/2013/04/settings.png"><img class="alignleft size-medium wp-image-4141" title="settings" src="http://viniciussouza.azurewebsites.net/wp-content/uploads/2013/04/settings-300x168.png" alt="" width="300" height="168" /></a>Para padronizar o local onde o usuário vai encontrar as configurações de um aplicativo, o Windows utiliza o Contrato de Settings.</p>
<p>Podemos definir as opções que teremos nas configurações de nosso aplicativo a qualquer momento, no template fiz uso do evento <strong>OnWindowCreated</strong>, na classe <strong>App</strong> (App.xaml.cs) que é executado sempre que uma nova janela for criada.</p>
<p>Neste método faço o registro do Handlers do evento que será executado quando o usuário clicar no ícone de settings da Charm Bar.</p>
<p><em>SettingsPane.GetForCurrentView().CommandsRequested += App_CommandsRequested;</em></p>
<p>No método <strong>App_CommandsRequested</strong>, vamos adicionar as opções que serão apresentadas para o usuário.</p>
<p><strong>void App_CommandsRequested(SettingsPane sender, SettingsPaneCommandsRequestedEventArgs args)</strong></p>
<p>Incluímos as opções utilizando a classe <strong>SettingsCommand</strong>, ao instanciar um objeto dessa classe devemos definir 3 (três) parâmetros ID, Texto e um handler que será executado quando o usuário clicar sobre a opção desejada. No template é utilizado o mesmo handler para todas as opções, e utilizamos o ID para identificar a opção que foi acionada.</p>
<p><em>UICommandInvokedHandler handler = new UICommandInvokedHandler(onSettingsCommand);</em></p>
<p><em>SettingsCommand aboutCommand = new SettingsCommand(&#8220;AU&#8221;, &#8220;Sobre&#8221;, handler);</em></p>
<p><em>args.Request.ApplicationCommands.Add(aboutCommand);</em></p>
<p>&nbsp;</p>
<p>6) Snapped View.</p>
<p><a href="http://viniciussouza.azurewebsites.net/wp-content/uploads/2013/04/snapped_2.png"><img class="alignleft size-medium wp-image-4171" title="snapped_2" src="http://viniciussouza.azurewebsites.net/wp-content/uploads/2013/04/snapped_2-300x168.png" alt="" width="300" height="168" /></a>O <strong>Snapped View</strong> permite que tenhamos dois aplicativos sendo executados ao mesmo tempo, com um espaço reduzido o aplicativo deve se adequar ao novo espaço não prejudicando a experiência do usuário.</p>
<p>Algumas páginas podem não ter uma representação no Snapped view, mas deve ser informado alguma informação para o usuário. Em alguns casos como em jogos, por exemplo, ao colocar no Snapped view é apresentado o placar com e o jogo é pausado.</p>
<p>No template utilizamos o controle VisualStateManager, este controle identifica o tipo de visualização que a aplicação está sujeita e executa alguns StoryBoard, trocando as propriedades de alguns controles.</p>
<p>Como exemplo de aplicação, vamos abrir o arquivo HomePage.xaml e procurar por <strong>VisualStateManager</strong>.</p>
<p>No template utilizamos o VisualStateManager para deixar a grid invisível e a lista de itens visível, alterando a propriedade da Visibility. No trecho de código a seguir, temos um exemplo de ambos os casos.</p>
<pre>&lt;ObjectAnimationUsingKeyFrames Storyboard.TargetName="pageTitle" Storyboard.TargetProperty="Style"&gt;</pre>
<pre style="padding-left: 30px;">&lt;DiscreteObjectKeyFrame KeyTime="0" Value="{StaticResource SnappedPageHeaderTextStyle}"/&gt;</pre>
<pre>&lt;/ObjectAnimationUsingKeyFrames&gt;</pre>
<pre>&lt;ObjectAnimationUsingKeyFrames Storyboard.TargetName="itemListView" Storyboard.TargetProperty="Visibility"&gt;</pre>
<pre style="padding-left: 30px;">&lt;DiscreteObjectKeyFrame KeyTime="0" Value="Visible"/&gt;</pre>
<pre>&lt;/ObjectAnimationUsingKeyFrames&gt;</pre>
<h2>Onde você pode evoluir?</h2>
<p>1) Acessar uma fonte de dados externa.</p>
<p>A aplicação é de certa forma estática, uma vez que os dados por ela consumidos estão todos armazenados na aplicação, da maneira que foi desenvolvido o template você pode utilizar de um webservice (REST <img src='http://viniciussouza.azurewebsites.net/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  ) para realizar consultas, e por sua vez utilizar um backoffice para atualizar as informações apresentadas para os usuários.<br />
O <a title="Windows Azure" href="http://www.windowsazure.com/pt-br/" target="_blank">Windows Azure</a> possui um serviço chamado <a title="Windows Azure - Mobile Services" href="http://www.windowsazure.com/pt-br/home/scenarios/mobile-services/" target="_blank">Mobile Services</a>, este serviço fornece uma infraestrutura com banco de dados e serviços REST que podem ser executados para fazer operações de CRUD.</p>
<p>OBS: Para consumir dados de fontes externas, é necessário incluir no arquivo de manifesto a utilização de internet, que por sua vez demanda a publicação da sua política de privacidade.<br />
2) Utilização de notificação.</p>
<p>Ao deixar a aplicação com conteúdo dinâmico, talvez seja importante implementar a o serviço notificação, dessa forma o usuário vai receber notificações quando haver conteúdo novo disponível.</p>
<p>3) Incluir o pinning na aplicação.</p>
<p>O pinning de conteúdo permite que o usuário crie um acesso rápido direto para o conteúdo que deseja, assim ele consegue acessar o conteúdo diretamente pela Start Screen. Está é uma funcionalidade muito interessante e recomendada para ser implementada.</p>
<p>&nbsp;</p>
<h2>Conclusões</h2>
<p>Existem várias maneiras de alterar o template e estender a sua funcionalidade, tenha uma experiência ponto-a-ponto com o template criando a sua App e submetendo-a  para a Windows Store e crie uma segunda versão, depois uma terceira e assim por diante.</p>
<p>Implementado aos poucos novas funcionalidades a cada nova versão, faça uso também do TFS &#8211; Team Foudation Service <a href="http://tfs.visualstudio.com/">http://tfs.visualstudio.com/</a> gerenciando versões e bugs que seu aplicativo venha a apresentar.</p>
<p>Sejam perseverantes  e pacientes, às vezes ao primeiro contato as desafios parecem ser mais complicado do que realmente o são e você vera que a medida que for estudando e se aprofundando os conceitos vão se encaixando e os desafios clareando cada vez mais.</p>
<p>Abraço,</p>
<p>&nbsp;</p>
<p>Vinícius.</p>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://viniciussouza.azurewebsites.net/templates-para-windows-8-como-utiliza-los-para-tirar-maior-proveito/feed/</wfw:commentRss>
		<slash:comments>16</slash:comments>
		</item>
		<item>
		<title>Webcast &#8211; A Microsoft mudou e ficou mais aberta</title>
		<link>http://viniciussouza.azurewebsites.net/webcast-a-microsoft-mudou-e-ficou-mais-aberta/</link>
		<comments>http://viniciussouza.azurewebsites.net/webcast-a-microsoft-mudou-e-ficou-mais-aberta/#comments</comments>
		<pubDate>Thu, 07 Mar 2013 17:16:07 +0000</pubDate>
		<dc:creator>Vinícius Souza</dc:creator>
				<category><![CDATA[Azure]]></category>
		<category><![CDATA[HTML5]]></category>
		<category><![CDATA[Interoperabilidade]]></category>
		<category><![CDATA[WebMatrix]]></category>
		<category><![CDATA[Windows 8]]></category>
		<category><![CDATA[Windows Phone]]></category>
		<category><![CDATA[Interop]]></category>
		<category><![CDATA[Windows Azure]]></category>
		<category><![CDATA[windows8]]></category>

		<guid isPermaLink="false">http://viniciussouza.azurewebsites.net/?p=3821</guid>
		<description><![CDATA[Fala pessoal, como prometido segue o vídeo do  Webcast realizado no dia 06/03/2013. &#160; http://channel9.msdn.com/posts/Webcast-A-Microsoft-mudou-e-est-mais-aberta &#160; Abraço, &#160; Vinícius.]]></description>
			<content:encoded><![CDATA[<p>Fala pessoal, como prometido segue o vídeo do  Webcast realizado no dia 06/03/2013.</p>
<p>&nbsp;</p>
<p><a href="http://channel9.msdn.com/posts/Webcast-A-Microsoft-mudou-e-est-mais-aberta">http://channel9.msdn.com/posts/Webcast-A-Microsoft-mudou-e-est-mais-aberta</a></p>
<p>&nbsp;</p>
<p>Abraço,</p>
<p>&nbsp;</p>
<p>Vinícius.</p>
]]></content:encoded>
			<wfw:commentRss>http://viniciussouza.azurewebsites.net/webcast-a-microsoft-mudou-e-ficou-mais-aberta/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Templates de aplicativos para a Windows Store</title>
		<link>http://viniciussouza.azurewebsites.net/windowsstoreapps_templates1/</link>
		<comments>http://viniciussouza.azurewebsites.net/windowsstoreapps_templates1/#comments</comments>
		<pubDate>Tue, 19 Feb 2013 16:39:53 +0000</pubDate>
		<dc:creator>Vinícius Souza</dc:creator>
				<category><![CDATA[Destaque]]></category>
		<category><![CDATA[Windows 8]]></category>

		<guid isPermaLink="false">http://viniciussouza.azurewebsites.net/?p=3721</guid>
		<description><![CDATA[Você está com aquela ideia e ainda não sabe por onde começar o seu aplicativo? A Microsoft, vai ajudá-lo! Como? Com esses templates disponíveis para HTML5/JS e XAML/C#. Windows 8 App Design Reference Template: Basic Game Windows 8 App Design Reference Template: Blocks Windows 8 App Design Reference Template: Cook Book]]></description>
			<content:encoded><![CDATA[<p>Você está com aquela ideia e ainda não sabe por onde começar o seu aplicativo?</p>
<p>A Microsoft, vai ajudá-lo! Como? Com esses templates disponíveis para HTML5/JS e XAML/C#.<br />

<a href='http://viniciussouza.azurewebsites.net/windowsstoreapps_templates1/basicgame/' title='BasicGame'><img width="150" height="100" src="http://viniciussouza.azurewebsites.net/wp-content/uploads/2013/02/BasicGame-150x100.png" class="attachment-thumbnail" alt="BasicGame" title="BasicGame" /></a>
<a href='http://viniciussouza.azurewebsites.net/windowsstoreapps_templates1/blocks/' title='Blocks'><img width="150" height="100" src="http://viniciussouza.azurewebsites.net/wp-content/uploads/2013/02/Blocks-150x100.png" class="attachment-thumbnail" alt="Blocks" title="Blocks" /></a>
<a href='http://viniciussouza.azurewebsites.net/windowsstoreapps_templates1/cook-book/' title='Cook Book'><img width="150" height="100" src="http://viniciussouza.azurewebsites.net/wp-content/uploads/2013/02/Cook-Book-150x100.png" class="attachment-thumbnail" alt="Cook Book" title="Cook Book" /></a>
</p>
<p><a title="Windows 8 App Design Reference Template: Basic Game" href="http://win8template23.codeplex.com/">Windows 8 App Design Reference Template: Basic Game<br />
</a><a title="Windows 8 App Design Reference Template: Blocks" href="http://win8template24.codeplex.com/">Windows 8 App Design Reference Template: Blocks<br />
</a><a title="Windows 8 App Design Reference Template: Cook Book" href="http://win8template4.codeplex.com/">Windows 8 App Design Reference Template: Cook Book<br />
</a></p>
]]></content:encoded>
			<wfw:commentRss>http://viniciussouza.azurewebsites.net/windowsstoreapps_templates1/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Palestra da campus party &#8211; Robótica com Arduino e Kinect</title>
		<link>http://viniciussouza.azurewebsites.net/palestra-da-campus-party-robotica-com-arduino-e-kinect/</link>
		<comments>http://viniciussouza.azurewebsites.net/palestra-da-campus-party-robotica-com-arduino-e-kinect/#comments</comments>
		<pubDate>Tue, 29 Jan 2013 15:31:45 +0000</pubDate>
		<dc:creator>Vinícius Souza</dc:creator>
				<category><![CDATA[Eventos]]></category>
		<category><![CDATA[Windows 8]]></category>

		<guid isPermaLink="false">http://viniciussouza.azurewebsites.net/?p=3611</guid>
		<description><![CDATA[Oi pessoal, hoje palestrei na Campus Party sobre robótica com Arduino e Kinect tudo suportado na plataforma Windows. A palestra foi muito legal, o público super interativo, espero outras oportunidades como esta. Muitos pediram a minha apresentação, por isso ó link no meu Skydrive: https://skydrive.live.com/#!/view.aspx?cid=B8097FFEA1152756&#38;resid=B8097FFEA1152756%211037&#38;app=PowerPoint Aproveitem e lembram-se: Tudo que é grande hoje, teve um início simples&#8230;. [...]]]></description>
			<content:encoded><![CDATA[<p>Oi pessoal, hoje palestrei na Campus Party sobre robótica com Arduino e Kinect tudo suportado na plataforma Windows.</p>
<p>A palestra foi muito legal, o público super interativo, espero outras oportunidades como esta.</p>
<p>Muitos pediram a minha apresentação, por isso ó link no meu Skydrive: <a href="https://skydrive.live.com/#!/view.aspx?cid=B8097FFEA1152756&amp;resid=B8097FFEA1152756%211037&amp;app=PowerPoint">https://skydrive.live.com/#!/view.aspx?cid=B8097FFEA1152756&amp;resid=B8097FFEA1152756%211037&amp;app=PowerPoint</a></p>
<p>Aproveitem e lembram-se:</p>
<p>Tudo que é grande hoje, teve um início simples&#8230;.</p>
<p>Comece com um kit como que eu utilizei e depois vá além <img src='http://viniciussouza.azurewebsites.net/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<p><a href="http://viniciussouza.azurewebsites.net/wp-content/uploads/2013/01/palestra-da-campus1.jpg"><img title="palestra da campus" src="http://viniciussouza.azurewebsites.net/wp-content/uploads/2013/01/palestra-da-campus1.jpg" alt="" width="575" height="324" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://viniciussouza.azurewebsites.net/palestra-da-campus-party-robotica-com-arduino-e-kinect/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Vídeos do evento de lançamento técnico do Windows 8</title>
		<link>http://viniciussouza.azurewebsites.net/videos-lancamento-tecnico-windows-8/</link>
		<comments>http://viniciussouza.azurewebsites.net/videos-lancamento-tecnico-windows-8/#comments</comments>
		<pubDate>Wed, 28 Nov 2012 16:21:16 +0000</pubDate>
		<dc:creator>Vinícius Souza</dc:creator>
				<category><![CDATA[Azure]]></category>
		<category><![CDATA[Windows 8]]></category>
		<category><![CDATA[Windows Phone]]></category>
		<category><![CDATA[evento]]></category>
		<category><![CDATA[Windows Azure]]></category>

		<guid isPermaLink="false">http://viniciussouza.azurewebsites.net/?p=3391</guid>
		<description><![CDATA[Fala pessoal, Para quem perdeu ou quer ver as palestras do evento novamente! Seguem os vídeos. General Session Palestrante: Danilo Bordini e Fábio Gaspar Convidados: Ivan Rosolen e Danilo Francisco Peres http://channel9.msdn.com/Events/Windows-Camp/Windows-Dev-Camps-Brasil/lancWin8General &#160; Trilha de Desenvolvimento Trilha de desenvolvimento Conteúdo Vídeo Título: Explorando o Windows Runtime Palestrante: Caio Chaves Garcez &#160; http://channel9.msdn.com/Events/Windows-Camp/Windows-Dev-Camps-Brasil/lancWin8Dev1 Título: INTEGRANDO COM O HARDWARE [...]]]></description>
			<content:encoded><![CDATA[<p>Fala pessoal,</p>
<p>Para quem perdeu ou quer ver as palestras do evento novamente! Seguem os vídeos. <img src='http://viniciussouza.azurewebsites.net/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /><br />
<strong>General Session</strong></p>
<p><strong>Palestrante: Danilo Bordini e <strong>Fábio Gaspar</strong></strong></p>
<p><strong>Convidados: Ivan Rosolen e Danilo Francisco Peres</strong></p>
<p><a href="http://channel9.msdn.com/Events/Windows-Camp/Windows-Dev-Camps-Brasil/lancWin8General">http://channel9.msdn.com/Events/Windows-Camp/Windows-Dev-Camps-Brasil/lancWin8General</a></p>
<p>&nbsp;</p>
<p><strong>Trilha de Desenvolvimento</strong></p>
<table border="1" align="center">
<tbody>
<tr>
<td colspan="2"><strong>Trilha de desenvolvimento</strong></td>
</tr>
<tr>
<td>Conteúdo</td>
<td>Vídeo</td>
</tr>
<tr>
<td><strong>Título: Explorando o Windows Runtime</strong><strong></strong><br />
<strong>Palestrante: Caio Chaves Garcez</strong></p>
<p>&nbsp;</td>
<td><a href="http://channel9.msdn.com/Events/Windows-Camp/Windows-Dev-Camps-Brasil/lancWin8Dev1">http://channel9.msdn.com/Events/Windows-Camp/Windows-Dev-Camps-Brasil/lancWin8Dev1</a></td>
</tr>
<tr>
<td><strong>Título: INTEGRANDO COM O HARDWARE &#8211; utilizando o WinRT para se acessar sensores</strong><strong></strong><br />
<strong>Palestrantes: Miguel Ferreira e Marcus Breda</strong></p>
<p>&nbsp;</td>
<td><a href="http://channel9.msdn.com/Events/Windows-Camp/Windows-Dev-Camps-Brasil/lancWin8Dev2">http://channel9.msdn.com/Events/Windows-Camp/Windows-Dev-Camps-Brasil/lancWin8Dev2</a></td>
</tr>
<tr>
<td><strong>Como criar um back-end confiável e garantir o sucesso da sua App com Windows Azure.</strong><strong>Palestrante: Rogério Cordeiro</strong></p>
<p>&nbsp;</td>
<td><a href="http://channel9.msdn.com/Events/Windows-Camp/Windows-Dev-Camps-Brasil/lancWin8Dev3">http://channel9.msdn.com/Events/Windows-Camp/Windows-Dev-Camps-Brasil/lancWin8Dev3</a></td>
</tr>
<tr>
<td><strong>Título: Desenvolvendo controles avançados para o Windows 8</strong><strong>Palestrante: Vitor Ciaramella</strong></p>
<p>&nbsp;</td>
<td><a href="http://channel9.msdn.com/Events/Windows-Camp/Windows-Dev-Camps-Brasil/lancWin8Dev4">http://channel9.msdn.com/Events/Windows-Camp/Windows-Dev-Camps-Brasil/lancWin8Dev4</a></td>
</tr>
<tr>
<td><strong>Título: Windows Phone 8 e Windows 8 better together</strong><strong></strong><br />
<strong>Palestrante:</strong><strong>Osvaldo Daibert</strong></p>
<p>&nbsp;</td>
<td><a href="http://channel9.msdn.com/Events/Windows-Camp/Windows-Dev-Camps-Brasil/lancWin8Dev5">http://channel9.msdn.com/Events/Windows-Camp/Windows-Dev-Camps-Brasil/lancWin8Dev5</a></td>
</tr>
</tbody>
</table>
<p><strong> Trilha de Design para Desenvolvedores</strong></p>
<table border="1" align="center">
<tbody>
<tr>
<td colspan="2"><strong>Trilha de design</strong></td>
</tr>
<tr>
<td>Conteúdo</td>
<td>Vídeo</td>
</tr>
<tr>
<td><strong>Título: Apps impressionantes na Windows Store. Do design ao código com MVVM</strong>&nbsp;</p>
<p><strong>Palestrante: Thiago Fernandes e Luiz Henrique</strong></p>
<p>&nbsp;</td>
<td><a href="http://channel9.msdn.com/Events/Windows-Camp/Windows-Dev-Camps-Brasil/lancWin8Des1">http://channel9.msdn.com/Events/Windows-Camp/Windows-Dev-Camps-Brasil/lancWin8Des1</a></td>
</tr>
<tr>
<td><strong>Título: Um mergulho no Windows 8 via Web API e Entity</strong><strong>Framework Palestrante: Renato Haddad</strong></p>
<p>&nbsp;</td>
<td><a href="http://channel9.msdn.com/Events/Windows-Camp/Windows-Dev-Camps-Brasil/lancWin8Des2">http://channel9.msdn.com/Events/Windows-Camp/Windows-Dev-Camps-Brasil/lancWin8Des2</a></td>
</tr>
<tr>
<td><strong>Título: Turbinando a experiência da sua App com dicas e truques práticos. Faremos você brilhar na Windows Store!</strong>&nbsp;</p>
<p><strong>Palestrante: Maurício Alegretti e Ricardo Dorta</strong></p>
<p>&nbsp;</td>
<td><a href="http://channel9.msdn.com/Events/Windows-Camp/Windows-Dev-Camps-Brasil/lancWin8Des3">http://channel9.msdn.com/Events/Windows-Camp/Windows-Dev-Camps-Brasil/lancWin8Des3</a></td>
</tr>
<tr>
<td><strong>Título: O novo Windows Phone 8. Wallet, Speech e outras novidades. </strong>&nbsp;</p>
<p><strong>Palestrante: Thiago Mônaco</strong></p>
<p>&nbsp;</p>
<p>&nbsp;</td>
<td><a href="http://channel9.msdn.com/Events/Windows-Camp/Windows-Dev-Camps-Brasil/lancWin8Des4">http://channel9.msdn.com/Events/Windows-Camp/Windows-Dev-Camps-Brasil/lancWin8Des4</a></td>
</tr>
<tr>
<td><strong>Título: Discutindo sobre Windows Store Apps, ou se preferir, Modern Apps!</strong>&nbsp;</p>
<p><strong>Palestrante: Manoel dos Santos e Clécio Bachini.</strong></p>
<p>&nbsp;</p>
<p>&nbsp;</td>
<td><a href="http://channel9.msdn.com/Events/Windows-Camp/Windows-Dev-Camps-Brasil/lancWin8Des5">http://channel9.msdn.com/Events/Windows-Camp/Windows-Dev-Camps-Brasil/lancWin8Des5</a></td>
</tr>
</tbody>
</table>
<p><strong>Trilha de Infraestrutura</strong></p>
<table border="1" align="center">
<tbody>
<tr>
<td colspan="2"><strong>Trilha de ITPro</strong></td>
</tr>
<tr>
<td>Conteúdo</td>
<td>Vídeo</td>
</tr>
<tr>
<td><strong>Título: Deployment do Windows 8 </strong>&nbsp;</p>
<p><strong>Palestrante:  Marcelo Sincic</strong></p>
<p>&nbsp;</td>
<td><a href="http://channel9.msdn.com/Events/Windows-Camp/Windows-Dev-Camps-Brasil/lancWin8Infra1">http://channel9.msdn.com/Events/Windows-Camp/Windows-Dev-Camps-Brasil/lancWin8Infra1</a></td>
</tr>
<tr>
<td><strong>Título: Produtividade em qualquer lugar </strong><strong>Palestrante:  Fabio Hara / Vinícius Aponilário</strong></p>
<p>&nbsp;</td>
<td><a href="http://channel9.msdn.com/Events/Windows-Camp/Windows-Dev-Camps-Brasil/lancWin8Infra2">http://channel9.msdn.com/Events/Windows-Camp/Windows-Dev-Camps-Brasil/lancWin8Infra2</a></td>
</tr>
<tr>
<td><strong>Título: Gerenciando aplicações Windows 8 </strong><strong>Palestrante:  Jorge Vera</strong></p>
<p>&nbsp;</td>
<td><a href="http://channel9.msdn.com/Events/Windows-Camp/Windows-Dev-Camps-Brasil/lancWin8Infra3">http://channel9.msdn.com/Events/Windows-Camp/Windows-Dev-Camps-Brasil/lancWin8Infra3</a></td>
</tr>
<tr>
<td><strong>Título: Recuperação e Segurança </strong><strong>Palestrante: Rodrigo Immaginário</strong></p>
<p>&nbsp;</td>
<td><a href="http://channel9.msdn.com/Events/Windows-Camp/Windows-Dev-Camps-Brasil/lancWin8Infra4">http://channel9.msdn.com/Events/Windows-Camp/Windows-Dev-Camps-Brasil/lancWin8Infra4</a></td>
</tr>
<tr>
<td><strong>Título: Windows Server 2012 + Windows 8 = Melhores juntos</strong><strong>Palestrantes: Fabio Hara / Vinícius Aponilário</strong></p>
<p>&nbsp;</td>
<td><a href="http://channel9.msdn.com/Events/Windows-Camp/Windows-Dev-Camps-Brasil/lancWin8Infra5">http://channel9.msdn.com/Events/Windows-Camp/Windows-Dev-Camps-Brasil/lancWin8Infra5</a></td>
</tr>
</tbody>
</table>
<p>&nbsp;<br />
h</p>
]]></content:encoded>
			<wfw:commentRss>http://viniciussouza.azurewebsites.net/videos-lancamento-tecnico-windows-8/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Publisher de Apps &#8211; Para o Windows 8</title>
		<link>http://viniciussouza.azurewebsites.net/publisher-windows-store/</link>
		<comments>http://viniciussouza.azurewebsites.net/publisher-windows-store/#comments</comments>
		<pubDate>Wed, 31 Oct 2012 14:37:12 +0000</pubDate>
		<dc:creator>Vinícius Souza</dc:creator>
				<category><![CDATA[Novidades]]></category>
		<category><![CDATA[Windows 8]]></category>
		<category><![CDATA[Aplicativos]]></category>
		<category><![CDATA[Loja]]></category>
		<category><![CDATA[Publisher]]></category>
		<category><![CDATA[Store]]></category>
		<category><![CDATA[windows8]]></category>

		<guid isPermaLink="false">http://viniciussouza.azurewebsites.net/?p=2921</guid>
		<description><![CDATA[Bom dia amigos! Mais uma super novidade para vocês. Conseguimos uma parceria com 3 MIC&#8217;s dos 12 existentes no Brasil, para funcionar como Publisher de Aplicativos para a Windows Store do Windows 8, são eles: MIC Fortaleza – mic@atlantico.com.br MIC Pernambuco – app@micpernambuco.com.br MIC Porto Alegre – apps.w8@pucrs.br Se você não estiver familiarizado com esse [...]]]></description>
			<content:encoded><![CDATA[<p>Bom dia amigos!</p>
<p>Mais uma super novidade para vocês.</p>
<p>Conseguimos uma parceria com 3 MIC&#8217;s dos 12 existentes no Brasil, para funcionar como Publisher de Aplicativos para a Windows Store do Windows 8, são eles:</p>
<ul>
<li>MIC Fortaleza – <a href="mailto:mic@atlantico.com.br">mic@atlantico.com.br</a></li>
<li>MIC Pernambuco – <a href="mailto:app@micpernambuco.com.br">app@micpernambuco.com.br</a></li>
<li>MIC Porto Alegre – <a href="mailto:apps.w8@pucrs.br">apps.w8@pucrs.br</a></li>
</ul>
<p>Se você não estiver familiarizado com esse termo fique tranquilo, que vou dar uma breve explicação sobre o termo.</p>
<p>Um Publisher, funciona como um facilitador para a submissão de apps na Windows Store.</p>
<p>Como vocês sabem para subir um aplicativo para a Windows Store e ficar disponível no Windows 8 é preciso ter uma conta de desenvolvedor. A conta de desenvolvedor custa <strong>R$ 80,00 para pessoa física</strong> e <strong>R$ 160,00 para pessoa jurídica</strong>.</p>
<p>O valor é pago utilizando um cartão de crédito, nacional mesmo! O que já é um MEGA facilitador&#8230; Mas mesmo assim, estudantes que pode não ter um cartão não vão ficar de fora do mercado de aplicativos do Windows 8. Pois podem utilizar os Publisher para publicar sem possuir a conta de desenvolvedor.</p>
<p>Mas como funciona o processo!? O processo é muito simples e está descrito abaixo, não tem mais desculpa para publicar a sua App.</p>
<p>OBS: <strong>Para utilizar o Publisher temos que enviar a solução do Visual Studio inteira (código fonte). Por que, ao fazer o pacote temos que fornecer a conta de desenvolvedor para vincular a app com o nome reservado. O aplicativo enviado deve estar de acordo com a Microsoft Public License (Ms-PL) veja aqui o licenciamento <a href="http://win8appbox.codeplex.com/license">http://win8appbox.codeplex.com/license</a></strong></p>
<p><a href="http://viniciussouza.azurewebsites.net/wp-content/uploads/2012/10/Publisher.png"><img class="wp-image-2931 aligncenter" title="Publisher" src="http://viniciussouza.azurewebsites.net/wp-content/uploads/2012/10/Publisher.png" alt="" width="652" height="211" /></a></p>
<p>1) Terminar a sua App</p>
<p>2) Envie um e-mail para um dos endereços acima, mencionando o interesse de publicar a sua aplicação.</p>
<p>3) O MIC vai retornar um e-mail com um formulário e o procedimento para submeter a sua App.</p>
<p>4) Preencha os campos com <strong>aquele cuidado</strong>&#8230; e faça upload do arquivo compactado da sua aplicação para o Skydrive (evitando possíveis problemas de retorno de e-mail, devido o tamanho do arquivo).</p>
<p>5) Responda o e-mail para o MIC com o formulário preenchido e o Link de acesso para o arquivo que fez upload no Skydrive (atenção a permissão de acesso ao arquivo no Skydrive).</p>
<p>6) O MIC vai submeter a sua App através da conta de desenvolvedor da Windows Store deles, e enviar o retorno do processo para vocês.<br />
De sucesso (com o link da sua App)  <strong> <img src='http://viniciussouza.azurewebsites.net/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </strong><br />
Ou de erro (com o feedback da Windows Store) <strong> <img src='http://viniciussouza.azurewebsites.net/wp-includes/images/smilies/icon_sad.gif' alt=':(' class='wp-smiley' /> </strong></p>
<p>E pronto, sua App vai estar na Windows Strore!</p>
<p>Abraço,</p>
<p>Vinícius.</p>
]]></content:encoded>
			<wfw:commentRss>http://viniciussouza.azurewebsites.net/publisher-windows-store/feed/</wfw:commentRss>
		<slash:comments>14</slash:comments>
		</item>
		<item>
		<title>Slides dos Webcasts &#8211; Desenvolvendo sua App para Windows 8</title>
		<link>http://viniciussouza.azurewebsites.net/slide-dos-webcasts-desenvolvendo-app-para-windows-8/</link>
		<comments>http://viniciussouza.azurewebsites.net/slide-dos-webcasts-desenvolvendo-app-para-windows-8/#comments</comments>
		<pubDate>Tue, 16 Oct 2012 01:29:48 +0000</pubDate>
		<dc:creator>Vinícius Souza</dc:creator>
				<category><![CDATA[Windows 8]]></category>

		<guid isPermaLink="false">http://viniciussouza.azurewebsites.net/?p=2771</guid>
		<description><![CDATA[Pessoal, Seguem os links com os slides que utilizamos para apresentar os Webcasts. http://www.slideshare.net/vbsbr/webcasts-calltoaction http://www.slideshare.net/fabiohara/apps4win-prepara-seu-ambiente-para-o-windows-8 http://www.slideshare.net/vbsbr/desenvolvendo-a-sua-app-parte-1 http://www.slideshare.net/vbsbr/desenvolvendo-a-sua-app-parte-2 http://www.slideshare.net/vbsbr/desenvolvendo-a-sua-app-parte-3 &#160; Abraço, &#160; Vinícius.]]></description>
			<content:encoded><![CDATA[<p>Pessoal,</p>
<p>Seguem os links com os slides que utilizamos para apresentar os Webcasts.</p>
<p><a title="Call to action - Você pode e deve fazer uma App para o Windows 8" href="http://www.slideshare.net/vbsbr/webcasts-calltoaction" target="_blank">http://www.slideshare.net/vbsbr/webcasts-calltoaction</a></p>
<p><a title="Preparando o seu ambiente de desenvolvimento" href="http://www.slideshare.net/fabiohara/apps4win-prepara-seu-ambiente-para-o-windows-8" target="_blank">http://www.slideshare.net/fabiohara/apps4win-prepara-seu-ambiente-para-o-windows-8</a></p>
<p><a title="Desenvolvendo sua app parte 1" href="http://www.slideshare.net/vbsbr/desenvolvendo-a-sua-app-parte-1" target="_blank">http://www.slideshare.net/vbsbr/desenvolvendo-a-sua-app-parte-1</a></p>
<p><a title="Desenvolvendo sua app parte 2" href="http://www.slideshare.net/vbsbr/desenvolvendo-a-sua-app-parte-2" target="_blank">http://www.slideshare.net/vbsbr/desenvolvendo-a-sua-app-parte-2</a></p>
<p><a href="http://www.slideshare.net/vbsbr/desenvolvendo-a-sua-app-parte-3">http://www.slideshare.net/vbsbr/desenvolvendo-a-sua-app-parte-3</a></p>
<p>&nbsp;</p>
<p>Abraço,</p>
<p>&nbsp;</p>
<p>Vinícius.</p>
]]></content:encoded>
			<wfw:commentRss>http://viniciussouza.azurewebsites.net/slide-dos-webcasts-desenvolvendo-app-para-windows-8/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Webcasts para o desenvolvimento de Apps para o Windows8</title>
		<link>http://viniciussouza.azurewebsites.net/webcasts-para-o-desenvolvimento-de-apps-para-o-windows8/</link>
		<comments>http://viniciussouza.azurewebsites.net/webcasts-para-o-desenvolvimento-de-apps-para-o-windows8/#comments</comments>
		<pubDate>Tue, 09 Oct 2012 18:45:44 +0000</pubDate>
		<dc:creator>Vinícius Souza</dc:creator>
				<category><![CDATA[Windows 8]]></category>
		<category><![CDATA[AppBox]]></category>
		<category><![CDATA[Webcast]]></category>

		<guid isPermaLink="false">http://viniciussouza.azurewebsites.net/?p=2661</guid>
		<description><![CDATA[Esta semana começamos a fazer uma série de Webcasts para o desenvolvimento de Aplicativos para a Windows Store, veja a agenda de no link http://www.microsoft.com/brasil/apps/windows.html aba 5 &#8220;Veja Webcasts dos especialistas&#8221;. Teremos dois Webcasts um sempre às 12:00 e um segundo abordando o mesmo conteúdo às 22:00, a priori tentamos manter os Webcasts as terças e quintas, [...]]]></description>
			<content:encoded><![CDATA[<p>Esta semana começamos a fazer uma série de Webcasts para o desenvolvimento de Aplicativos para a Windows Store, veja a agenda de no link <a href="http://www.microsoft.com/brasil/apps/windows.html">http://www.microsoft.com/brasil/apps/windows.html</a> aba 5 &#8220;Veja Webcasts dos especialistas&#8221;.</p>
<p>Teremos dois Webcasts um sempre às 12:00 e um segundo abordando o mesmo conteúdo às 22:00, a priori tentamos manter os Webcasts as terças e quintas, mas devido a feriados e agenda dos componentes fizemos algumas customizações.</p>
<p>O conteúdo do Webcast vai ficar disponível na mesma URL do webcast após o horário da disponibilização.</p>
<p>Para facilitar, peço que façam seus comentários neste artigo.</p>
<p>Abraço.</p>
<p>Vinícius.</p>
]]></content:encoded>
			<wfw:commentRss>http://viniciussouza.azurewebsites.net/webcasts-para-o-desenvolvimento-de-apps-para-o-windows8/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Azure &#8211; Mobile Services Kit de treinamento disponível em português</title>
		<link>http://viniciussouza.azurewebsites.net/azure-mobile-services-kit-de-treinamento-disponivel-em-portugues/</link>
		<comments>http://viniciussouza.azurewebsites.net/azure-mobile-services-kit-de-treinamento-disponivel-em-portugues/#comments</comments>
		<pubDate>Wed, 03 Oct 2012 11:27:06 +0000</pubDate>
		<dc:creator>Vinícius Souza</dc:creator>
				<category><![CDATA[Azure]]></category>

		<guid isPermaLink="false">http://viniciussouza.azurewebsites.net/?p=2621</guid>
		<description><![CDATA[Olá pessoal, Essa semana foi disponibilizado um kit de treinamento do Azure Mobile Service, com PPT&#8217;s comentados e código fonte de demonstração no GitHub. https://github.com/WindowsAzure-TrainingKit-BR O kit conta com script para demo e laboratório, em arquivos HTML. Agora ficou ainda mais fácil criar aplicativos Windows 8 conectado na Nuvem. O responsável por esse Kit é [...]]]></description>
			<content:encoded><![CDATA[<p>Olá pessoal,</p>
<p>Essa semana foi disponibilizado um kit de treinamento do Azure Mobile Service, com PPT&#8217;s comentados e código fonte de demonstração no GitHub.</p>
<p><a href="https://github.com/WindowsAzure-TrainingKit-BR">https://github.com/WindowsAzure-TrainingKit-BR</a></p>
<p>O kit conta com script para demo e laboratório, em arquivos HTML. Agora ficou ainda mais fácil criar aplicativos Windows 8 conectado na Nuvem.</p>
<p>O responsável por esse Kit é Nick Harris, evangelista técnico da Microsoft.</p>
<p>Abraço,</p>
<p>Vinícius.</p>
]]></content:encoded>
			<wfw:commentRss>http://viniciussouza.azurewebsites.net/azure-mobile-services-kit-de-treinamento-disponivel-em-portugues/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
