<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://blogs.msdn.com/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>Waldemir Cambiucci - Solutions Architect - Microsoft Brasil : Silverlight</title><link>http://blogs.msdn.com/wcamb/archive/tags/Silverlight/default.aspx</link><description>Tags: Silverlight</description><dc:language>en-US</dc:language><generator>CommunityServer 2.1 SP1 (Build: 61025.2)</generator><item><title>Aplicações Ricas e Aplicações de Composição</title><link>http://blogs.msdn.com/wcamb/archive/2009/11/27/aplica-es-ricas-e-aplica-es-de-composi-o.aspx</link><pubDate>Fri, 27 Nov 2009 14:01:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9929402</guid><dc:creator>wcamb</dc:creator><slash:comments>2</slash:comments><comments>http://blogs.msdn.com/wcamb/comments/9929402.aspx</comments><wfw:commentRss>http://blogs.msdn.com/wcamb/commentrss.aspx?PostID=9929402</wfw:commentRss><wfw:comment>http://blogs.msdn.com/wcamb/rsscomments.aspx?PostID=9929402</wfw:comment><description>&lt;P&gt;Olá pessoal, tudo certo?&lt;/P&gt;
&lt;P&gt;Essa semana estive falando com várias empresas em Brasília, sobre tipos de interfaces, aplicações ricas e de composição para o setor bancário. &lt;/P&gt;
&lt;P&gt;Na verdade, &lt;STRONG&gt;Composite Applications&lt;/STRONG&gt; e &lt;STRONG&gt;Rich Internet Applications&lt;/STRONG&gt; são tendências para todas as verticais, não só em finanças. Permitir a combinação de recursos e serviços oferecidos pela empresa ou por fornecedores externos, de forma transparente para o usuário, é quase uma obrigação em muitos cenários.&lt;/P&gt;
&lt;P&gt;Assim, gostaria de indicar alguns exemplos interessantes de aplicações, utilizando abordagens de composição, interfaces ricas pela web, hospedagem em cloud computing e mesmo tecnologia Silverlight, veja: &lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.msdn.com/blogfiles/wcamb/WindowsLiveWriter/AplicaesRicaseAplicaesdeComposio_A822/image_2.png" mce_href="http://blogs.msdn.com/blogfiles/wcamb/WindowsLiveWriter/AplicaesRicaseAplicaesdeComposio_A822/image_2.png"&gt;&lt;IMG style="BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; DISPLAY: inline; BORDER-TOP: 0px; BORDER-RIGHT: 0px" title=image border=0 alt=image src="http://blogs.msdn.com/blogfiles/wcamb/WindowsLiveWriter/AplicaesRicaseAplicaesdeComposio_A822/image_thumb.png" width=244 height=156 mce_src="http://blogs.msdn.com/blogfiles/wcamb/WindowsLiveWriter/AplicaesRicaseAplicaesdeComposio_A822/image_thumb.png"&gt;&lt;/A&gt;&amp;nbsp; &lt;BR&gt;Ref.: &lt;A title=http://vf4demo.idvsolutions.com/ href="http://vf4demo.idvsolutions.com/" rel=nofollow target=_blank mce_href="http://vf4demo.idvsolutions.com/"&gt;http://vf4demo.idvsolutions.com/&lt;/A&gt; &lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.msdn.com/blogfiles/wcamb/WindowsLiveWriter/AplicaesRicaseAplicaesdeComposio_A822/image_4.png" mce_href="http://blogs.msdn.com/blogfiles/wcamb/WindowsLiveWriter/AplicaesRicaseAplicaesdeComposio_A822/image_4.png"&gt;&lt;IMG style="BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; DISPLAY: inline; BORDER-TOP: 0px; BORDER-RIGHT: 0px" title=image border=0 alt=image src="http://blogs.msdn.com/blogfiles/wcamb/WindowsLiveWriter/AplicaesRicaseAplicaesdeComposio_A822/image_thumb_1.png" width=244 height=154 mce_src="http://blogs.msdn.com/blogfiles/wcamb/WindowsLiveWriter/AplicaesRicaseAplicaesdeComposio_A822/image_thumb_1.png"&gt;&lt;/A&gt;&amp;nbsp; &lt;BR&gt;Ref.: &lt;A title=http://wwwns.akamai.com/hdnetwork/demo/silverlight/ href="http://wwwns.akamai.com/hdnetwork/demo/silverlight/" rel=nofollow target=_blank mce_href="http://wwwns.akamai.com/hdnetwork/demo/silverlight/"&gt;http://wwwns.akamai.com/hdnetwork/demo/silverlight/&lt;/A&gt; &lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.msdn.com/blogfiles/wcamb/WindowsLiveWriter/AplicaesRicaseAplicaesdeComposio_A822/image_6.png" mce_href="http://blogs.msdn.com/blogfiles/wcamb/WindowsLiveWriter/AplicaesRicaseAplicaesdeComposio_A822/image_6.png"&gt;&lt;IMG style="BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; DISPLAY: inline; BORDER-TOP: 0px; BORDER-RIGHT: 0px" title=image border=0 alt=image src="http://blogs.msdn.com/blogfiles/wcamb/WindowsLiveWriter/AplicaesRicaseAplicaesdeComposio_A822/image_thumb_2.png" width=244 height=154 mce_src="http://blogs.msdn.com/blogfiles/wcamb/WindowsLiveWriter/AplicaesRicaseAplicaesdeComposio_A822/image_thumb_2.png"&gt;&lt;/A&gt;&amp;nbsp; &lt;BR&gt;Ref.: &lt;A title=http://eyeonearth.cloudapp.net/ href="http://eyeonearth.cloudapp.net/" rel=nofollow target=_blank mce_href="http://eyeonearth.cloudapp.net/"&gt;http://eyeonearth.cloudapp.net/&lt;/A&gt;&amp;nbsp; &lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.msdn.com/blogfiles/wcamb/WindowsLiveWriter/AplicaesRicaseAplicaesdeComposio_A822/image_8.png" mce_href="http://blogs.msdn.com/blogfiles/wcamb/WindowsLiveWriter/AplicaesRicaseAplicaesdeComposio_A822/image_8.png"&gt;&lt;IMG style="BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; DISPLAY: inline; BORDER-TOP: 0px; BORDER-RIGHT: 0px" title=image border=0 alt=image src="http://blogs.msdn.com/blogfiles/wcamb/WindowsLiveWriter/AplicaesRicaseAplicaesdeComposio_A822/image_thumb_3.png" width=244 height=144 mce_src="http://blogs.msdn.com/blogfiles/wcamb/WindowsLiveWriter/AplicaesRicaseAplicaesdeComposio_A822/image_thumb_3.png"&gt;&lt;/A&gt; &lt;BR&gt;Ref.: &lt;A title=http://www.mscui.net/PatientJourneyDemonstrator/ href="http://www.mscui.net/PatientJourneyDemonstrator/" rel=nofollow target=_blank mce_href="http://www.mscui.net/PatientJourneyDemonstrator/"&gt;http://www.mscui.net/PatientJourneyDemonstrator/&lt;/A&gt; &lt;/P&gt;
&lt;P&gt;Além desses exemplos, vale olhar pacotes como o &lt;STRONG&gt;Composite Application Guidance for WPF &amp;amp;&lt;/STRONG&gt; Silverlight, como falamos essa semana:&lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.msdn.com/blogfiles/wcamb/WindowsLiveWriter/AplicaesRicaseAplicaesdeComposio_A822/image_10.png" mce_href="http://blogs.msdn.com/blogfiles/wcamb/WindowsLiveWriter/AplicaesRicaseAplicaesdeComposio_A822/image_10.png"&gt;&lt;IMG style="BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; DISPLAY: inline; BORDER-TOP: 0px; BORDER-RIGHT: 0px" title=image border=0 alt=image src="http://blogs.msdn.com/blogfiles/wcamb/WindowsLiveWriter/AplicaesRicaseAplicaesdeComposio_A822/image_thumb_4.png" width=244 height=165 mce_src="http://blogs.msdn.com/blogfiles/wcamb/WindowsLiveWriter/AplicaesRicaseAplicaesdeComposio_A822/image_thumb_4.png"&gt;&lt;/A&gt; &lt;BR&gt;Ref.: &lt;A title=http://www.codeplex.com/CompositeWPF href="http://www.codeplex.com/CompositeWPF" rel=nofollow target=_blank mce_href="http://www.codeplex.com/CompositeWPF"&gt;http://www.codeplex.com/CompositeWPF&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;E não deixe de conferir as sessões sobre Silverlight 4.0, apresentadas durante o pdc09. &lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Microsoft Silverlight 4 Overview &lt;BR&gt;&lt;/STRONG&gt;Ref.: &lt;A href="http://microsoftpdc.com/Sessions/P09-11" rel=nofollow target=_blank mce_href="http://microsoftpdc.com/Sessions/P09-11"&gt;http://microsoftpdc.com/Sessions/P09-11&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Improving and Extending the Sandbox with Silverlight 4 &lt;BR&gt;&lt;/STRONG&gt;Ref.: &lt;A href="http://microsoftpdc.com/Sessions/CL20" rel=nofollow target=_blank mce_href="http://microsoftpdc.com/Sessions/CL20"&gt;http://microsoftpdc.com/Sessions/CL20&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Building Line of Business Applications with Microsoft Silverlight 4 &lt;BR&gt;&lt;/STRONG&gt;Ref.: &lt;A href="http://microsoftpdc.com/Sessions/CL19" rel=nofollow target=_blank mce_href="http://microsoftpdc.com/Sessions/CL19"&gt;http://microsoftpdc.com/Sessions/CL19&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;Por enquanto é só! Até o próximo post :)&lt;/P&gt;
&lt;P&gt;Waldemir.&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9929402" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/wcamb/archive/tags/Composite+Applications/default.aspx">Composite Applications</category><category domain="http://blogs.msdn.com/wcamb/archive/tags/Silverlight/default.aspx">Silverlight</category></item><item><title>Composite Application Guidance for WPF and Silverlight – agora com Silverlight 3.0</title><link>http://blogs.msdn.com/wcamb/archive/2009/11/25/composite-application-guidance-for-wpf-and-silverlight-agora-suportando-silverlight-3-0.aspx</link><pubDate>Wed, 25 Nov 2009 22:11:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9928834</guid><dc:creator>wcamb</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/wcamb/comments/9928834.aspx</comments><wfw:commentRss>http://blogs.msdn.com/wcamb/commentrss.aspx?PostID=9928834</wfw:commentRss><wfw:comment>http://blogs.msdn.com/wcamb/rsscomments.aspx?PostID=9928834</wfw:comment><description>&lt;P&gt;Olá pessoal, tudo certo?&lt;/P&gt;
&lt;P&gt;Faltou mesmo!!! O mês de outubro passou e nem falei da nova versão do Composite Application Guidance for WPF and Silverlight, rodando em Silverlight 3.0, veja:&lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.msdn.com/blogfiles/wcamb/WindowsLiveWriter/CompositeApplicationGuidanceforWPFandSil_11A30/image_4.png" mce_href="http://blogs.msdn.com/blogfiles/wcamb/WindowsLiveWriter/CompositeApplicationGuidanceforWPFandSil_11A30/image_4.png"&gt;&lt;IMG style="BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; DISPLAY: inline; BORDER-TOP: 0px; BORDER-RIGHT: 0px" title=image border=0 alt=image src="http://blogs.msdn.com/blogfiles/wcamb/WindowsLiveWriter/CompositeApplicationGuidanceforWPFandSil_11A30/image_thumb_1.png" width=244 height=142 mce_src="http://blogs.msdn.com/blogfiles/wcamb/WindowsLiveWriter/CompositeApplicationGuidanceforWPFandSil_11A30/image_thumb_1.png"&gt;&lt;/A&gt; &lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;patterns &amp;amp; practices: Composite WPF and Silverlight &lt;BR&gt;&lt;/STRONG&gt;Ref.: &lt;A href="http://compositewpf.codeplex.com/" rel=nofollow target=_blank mce_href="http://compositewpf.codeplex.com/"&gt;http://compositewpf.codeplex.com/&lt;/A&gt; &lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Composite Application Guidance for WPF and Silverlight - October 2009 &lt;BR&gt;&lt;/STRONG&gt;Ref.: &lt;A href="http://www.microsoft.com/downloads/details.aspx?FamilyID=387c7a59-b217-4318-ad1b-cbc2ea453f40&amp;amp;displaylang=en" rel=nofollow target=_blank mce_href="http://www.microsoft.com/downloads/details.aspx?FamilyID=387c7a59-b217-4318-ad1b-cbc2ea453f40&amp;amp;displaylang=en"&gt;http://www.microsoft.com/downloads/details.aspx?FamilyID=387c7a59-b217-4318-ad1b-cbc2ea453f40&amp;amp;displaylang=en&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;A página do projeto avisa que a versão de outubro atualiza o CompositeApp para Silverlight 3, prevendo também novas versões para o futuro!&lt;/P&gt;
&lt;P&gt;Por enquanto é só! Até o próximo post :)&lt;/P&gt;
&lt;P&gt;Waldemir.&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9928834" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/wcamb/archive/tags/Composite+Applications/default.aspx">Composite Applications</category><category domain="http://blogs.msdn.com/wcamb/archive/tags/Silverlight/default.aspx">Silverlight</category></item><item><title>pdc09: Um resumo sobre o evento!</title><link>http://blogs.msdn.com/wcamb/archive/2009/11/23/pdc09-um-resumo-sobre-o-evento.aspx</link><pubDate>Mon, 23 Nov 2009 16:50:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9927354</guid><dc:creator>wcamb</dc:creator><slash:comments>2</slash:comments><comments>http://blogs.msdn.com/wcamb/comments/9927354.aspx</comments><wfw:commentRss>http://blogs.msdn.com/wcamb/commentrss.aspx?PostID=9927354</wfw:commentRss><wfw:comment>http://blogs.msdn.com/wcamb/rsscomments.aspx?PostID=9927354</wfw:comment><description>&lt;P&gt;Olá pessoal, tudo certo?&lt;/P&gt;
&lt;P&gt;O pdc09 terminou semana passada e deixou saudades! O evento começou com a plataforma Azure, apresentada em seu roadmap pelo &lt;STRONG&gt;Ray Ozzie – Chief Software Architect&lt;/STRONG&gt; da Microsoft.&lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.msdn.com/blogfiles/wcamb/WindowsLiveWriter/pdc09Umbeloevento_10412/image_4.png" mce_href="http://blogs.msdn.com/blogfiles/wcamb/WindowsLiveWriter/pdc09Umbeloevento_10412/image_4.png"&gt;&lt;IMG style="BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; MARGIN: 0px 10px 10px 0px; DISPLAY: inline; BORDER-TOP: 0px; BORDER-RIGHT: 0px" title=image border=0 alt=image align=left src="http://blogs.msdn.com/blogfiles/wcamb/WindowsLiveWriter/pdc09Umbeloevento_10412/image_thumb_1.png" width=244 height=155 mce_src="http://blogs.msdn.com/blogfiles/wcamb/WindowsLiveWriter/pdc09Umbeloevento_10412/image_thumb_1.png"&gt;&lt;/A&gt; &lt;/P&gt;
&lt;P&gt;Após seu anúncio em Outubro de 2008, a versão 1.0 de seu SDK e ferramentas de desenvolvimento foi publicada em Novembro de 2009. A plataforma entrará em produção em Janeiro de 2010, iniciando a fase de billing e cobrança de seus serviços em 1 de Fevereiro de 2010.&lt;/P&gt;
&lt;P&gt;A página com as informações de pricing e billing também mudou, veja:&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Windows Azure Pricing&lt;/STRONG&gt; &lt;BR&gt;Ref.: &lt;A title=http://www.microsoft.com/windowsazure/pricing/ href="http://www.microsoft.com/windowsazure/pricing/" rel=nofollow target=_blank mce_href="http://www.microsoft.com/windowsazure/pricing/"&gt;http://www.microsoft.com/windowsazure/pricing/&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;Além de muitas sessões sobre &lt;STRONG&gt;Tables, Queues, Blobs&lt;/STRONG&gt;, tivemos a apresentação do tipo &lt;STRONG&gt;Drive&lt;/STRONG&gt;, que permite o tratamento de arquivos na plataforma Azure. Veja mais sobre ele na sessão abaixo:&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Windows Azure Blob and Drive Deep Dive&lt;/STRONG&gt; &lt;BR&gt;Ref.: &lt;A href="http://microsoftpdc.com/Sessions/SVC14" rel=nofollow target=_blank mce_href="http://microsoftpdc.com/Sessions/SVC14"&gt;http://microsoftpdc.com/Sessions/SVC14&lt;/A&gt; &lt;/P&gt;
&lt;P&gt;Ainda sobre o Windows Azure, algumas surpresas foram muito interessantes, como a presença de &lt;STRONG&gt;Matt Mullenweg&lt;/STRONG&gt;, criador do &lt;STRONG&gt;WordPress&lt;/STRONG&gt; (a maior plataforma open-source de blogs do mundo) afirmando que estava entrando em produção com o WordPress sobre o Windows Azure. Veja abaixo: &lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;WordPress has Gone Live on Windows Azure&lt;/STRONG&gt; &lt;BR&gt;Ref.: &lt;A href="http://www.infoq.com/news/2009/11/WordPress-Azure" rel=nofollow target=_blank mce_href="http://www.infoq.com/news/2009/11/WordPress-Azure"&gt;http://www.infoq.com/news/2009/11/WordPress-Azure&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.msdn.com/blogfiles/wcamb/WindowsLiveWriter/pdc09Umbeloevento_10412/image_6.png" mce_href="http://blogs.msdn.com/blogfiles/wcamb/WindowsLiveWriter/pdc09Umbeloevento_10412/image_6.png"&gt;&lt;IMG style="BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; DISPLAY: inline; MARGIN-LEFT: 0px; BORDER-TOP: 0px; MARGIN-RIGHT: 0px; BORDER-RIGHT: 0px" title=image border=0 alt=image align=right src="http://blogs.msdn.com/blogfiles/wcamb/WindowsLiveWriter/pdc09Umbeloevento_10412/image_thumb_2.png" width=244 height=140 mce_src="http://blogs.msdn.com/blogfiles/wcamb/WindowsLiveWriter/pdc09Umbeloevento_10412/image_thumb_2.png"&gt;&lt;/A&gt; &lt;STRONG&gt;Silverlight 4&lt;/STRONG&gt; também teve seu espaço, começando com a keynote de &lt;STRONG&gt;Scott Guthrie&lt;/STRONG&gt;, com diversos recursos e funcionalidades para aplicações RIA e Web. As demos do Scott foram muito legais, tirando boas risadas do pessoal. Veja um pouco mais sobre SL4 na sessão abaixo:&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Building Line of Business Applications with Microsoft Silverlight 4&lt;/STRONG&gt; &lt;BR&gt;Ref.: &lt;A href="http://microsoftpdc.com/Sessions/CL19" rel=nofollow target=_blank mce_href="http://microsoftpdc.com/Sessions/CL19"&gt;http://microsoftpdc.com/Sessions/CL19&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;.NET 4&lt;/STRONG&gt; esteve muito presente no evento, com diversas sessões sobre WCF 4, WF 4, WPF e muito mais. Recomendo aqui duas sessões em especial, veja:&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Spice Up Your Applications with Windows Workflow Foundation 4&lt;/STRONG&gt; &lt;BR&gt;Ref.: &lt;A href="http://microsoftpdc.com/Sessions/FT17" rel=nofollow target=_blank mce_href="http://microsoftpdc.com/Sessions/FT17"&gt;http://microsoftpdc.com/Sessions/FT17&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;What’s New for Windows Communication Foundation 4&lt;/STRONG&gt; &lt;BR&gt;Ref.: &lt;A href="http://microsoftpdc.com/Sessions/FT13" rel=nofollow target=_blank mce_href="http://microsoftpdc.com/Sessions/FT13"&gt;http://microsoftpdc.com/Sessions/FT13&lt;/A&gt; &lt;/P&gt;
&lt;P&gt;Diversos outro produtos e tecnologias estiveram presentes, como BizTalk ESB Toolkit 2.0, Visual Studio 2010, SharePoint 2010, RIA Services, Surface, entre outras. &lt;/P&gt;
&lt;P&gt;Na sessão de expositores, uma surpresa: um dos &lt;STRONG&gt;containers&lt;/STRONG&gt; de datacenter do &lt;STRONG&gt;Windows Azure&lt;/STRONG&gt; estava em exposição, ligado e aberto! Agora posso realmente dizer que eu entrei no Windows Azure :)&lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.msdn.com/blogfiles/wcamb/WindowsLiveWriter/pdc09Umbeloevento_10412/image_8.png" mce_href="http://blogs.msdn.com/blogfiles/wcamb/WindowsLiveWriter/pdc09Umbeloevento_10412/image_8.png"&gt;&lt;IMG style="BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; DISPLAY: inline; BORDER-TOP: 0px; BORDER-RIGHT: 0px" title=image border=0 alt=image src="http://blogs.msdn.com/blogfiles/wcamb/WindowsLiveWriter/pdc09Umbeloevento_10412/image_thumb_3.png" width=244 height=168 mce_src="http://blogs.msdn.com/blogfiles/wcamb/WindowsLiveWriter/pdc09Umbeloevento_10412/image_thumb_3.png"&gt;&lt;/A&gt; &lt;A href="http://blogs.msdn.com/blogfiles/wcamb/WindowsLiveWriter/pdc09Umbeloevento_10412/image_12.png" mce_href="http://blogs.msdn.com/blogfiles/wcamb/WindowsLiveWriter/pdc09Umbeloevento_10412/image_12.png"&gt;&lt;IMG style="BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; DISPLAY: inline; BORDER-TOP: 0px; BORDER-RIGHT: 0px" title=image border=0 alt=image src="http://blogs.msdn.com/blogfiles/wcamb/WindowsLiveWriter/pdc09Umbeloevento_10412/image_thumb_5.png" width=234 height=168 mce_src="http://blogs.msdn.com/blogfiles/wcamb/WindowsLiveWriter/pdc09Umbeloevento_10412/image_thumb_5.png"&gt;&lt;/A&gt; &lt;A href="http://blogs.msdn.com/blogfiles/wcamb/WindowsLiveWriter/pdc09Umbeloevento_10412/image_14.png" mce_href="http://blogs.msdn.com/blogfiles/wcamb/WindowsLiveWriter/pdc09Umbeloevento_10412/image_14.png"&gt;&lt;IMG style="BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; DISPLAY: inline; BORDER-TOP: 0px; BORDER-RIGHT: 0px" title=image border=0 alt=image src="http://blogs.msdn.com/blogfiles/wcamb/WindowsLiveWriter/pdc09Umbeloevento_10412/image_thumb_6.png" width=244 height=178 mce_src="http://blogs.msdn.com/blogfiles/wcamb/WindowsLiveWriter/pdc09Umbeloevento_10412/image_thumb_6.png"&gt;&lt;/A&gt;&amp;nbsp;&lt;A href="http://blogs.msdn.com/blogfiles/wcamb/WindowsLiveWriter/pdc09Umbeloevento_10412/image_18.png" mce_href="http://blogs.msdn.com/blogfiles/wcamb/WindowsLiveWriter/pdc09Umbeloevento_10412/image_18.png"&gt;&lt;IMG style="BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; DISPLAY: inline; BORDER-TOP: 0px; BORDER-RIGHT: 0px" title=image border=0 alt=image src="http://blogs.msdn.com/blogfiles/wcamb/WindowsLiveWriter/pdc09Umbeloevento_10412/image_thumb_8.png" width=237 height=177 mce_src="http://blogs.msdn.com/blogfiles/wcamb/WindowsLiveWriter/pdc09Umbeloevento_10412/image_thumb_8.png"&gt;&lt;/A&gt; &lt;/P&gt;
&lt;P&gt;Note acima a alegria de &lt;A href="http://blogs.msdn.com/rogerioc/" rel=nofollow target=_blank mce_href="http://blogs.msdn.com/rogerioc/"&gt;Rogério Cordeiro&lt;/A&gt;, ao descobrir onde suas aplicações &lt;STRONG&gt;Live Services&lt;/STRONG&gt; realmente rodavam! :)&lt;/P&gt;
&lt;P&gt;Creio&amp;nbsp;que&amp;nbsp;o &lt;STRONG&gt;pdc09&lt;/STRONG&gt; foi mais &lt;STRONG&gt;Evolucionário&lt;/STRONG&gt; que &lt;STRONG&gt;Revolucionário&lt;/STRONG&gt; esse ano. Isso significa que a Microsoft optou pela apresentação de conclusões e principais roadmaps a partir da visão &lt;STRONG&gt;Software + Serviços&lt;/STRONG&gt; e &lt;STRONG&gt;Cloud Computing&lt;/STRONG&gt; apresentados durante o pdc08, em Outubro de 2008. Achei isso adequado, pois completou uma entrega, sinalizando ao mercado que a visão continua a mesma. Algumas mensagens foram reforçadas, como o multi-touch para a plataforma PC e os recursos do &lt;STRONG&gt;Windows 7&lt;/STRONG&gt; (uma unanimidade para todos do evento); a visão das 3 telas, com Mobile, TV e PC; e a plataforma Azure, mais completa e com recursos mais integrados para o mundo cloud computing e serviços online.&lt;/P&gt;
&lt;P&gt;Saimos desse evento com muitas lições de casa, principalmente em relação ao nosso dia-a-dia: &lt;STRONG&gt;como evoluir nossa TI local, para aproveitar os benefícios e recursos que a evolução tecnológica tem oferecido?&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;Recentemente li uma frase interessante: os desenvolvedores de hoje querem &lt;STRONG&gt;desenvolver&lt;/STRONG&gt; &lt;STRONG&gt;menos&lt;/STRONG&gt; e &lt;STRONG&gt;viver&lt;/STRONG&gt; &lt;STRONG&gt;mais&lt;/STRONG&gt;!!! Alguns da antiga podem discordar aqui, sem problemas!! :) Mas para os mais novos, isso só é possível com uma plataforma de TI mais fácil, integrada e ágil. E que venha o próximo &lt;STRONG&gt;pdc.vNext&lt;/STRONG&gt;!&lt;/P&gt;
&lt;P&gt;Por enquanto é só! Até o próximo post :)&lt;/P&gt;
&lt;P&gt;Waldemir.&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9927354" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/wcamb/archive/tags/Silverlight/default.aspx">Silverlight</category><category domain="http://blogs.msdn.com/wcamb/archive/tags/Windows+Azure/default.aspx">Windows Azure</category><category domain="http://blogs.msdn.com/wcamb/archive/tags/Opini_26002300_227_3B00_o/default.aspx">Opini&amp;#227;o</category><category domain="http://blogs.msdn.com/wcamb/archive/tags/PDC09/default.aspx">PDC09</category></item><item><title>pdc09: Novidades com o WCF RIA Services</title><link>http://blogs.msdn.com/wcamb/archive/2009/11/19/pdc09-novidades-com-o-wcf-ria-services.aspx</link><pubDate>Thu, 19 Nov 2009 20:47:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9925737</guid><dc:creator>wcamb</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/wcamb/comments/9925737.aspx</comments><wfw:commentRss>http://blogs.msdn.com/wcamb/commentrss.aspx?PostID=9925737</wfw:commentRss><wfw:comment>http://blogs.msdn.com/wcamb/rsscomments.aspx?PostID=9925737</wfw:comment><description>&lt;P&gt;Olá pessoal, tudo certo?&lt;/P&gt;
&lt;P&gt;Durante o PDC09, Brad Abrams, Program Manager do RIA Services, fez uma apresentação sensacional sobre o WCF RIA Services, com uma DEMO de mais de 40 minutos. A sessão foi essa aqui:&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Building Amazing Business Applications with Microsoft Silverlight and Microsoft .NET RIA Services &lt;BR&gt;&lt;/STRONG&gt;by Brad Abrams in Hall E on Thursday at 11:30 AM &lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&lt;FONT color=#000080&gt;Learn how to build n-tier Rich Internet Applications (RIA) on Silverlight by tapping the power of .NET RIA Services. Walk you through an example of building an application from scratch using the pattern run-time components and tools provided by .NET RIA Services. See how it helps you write application logic to expose data and operations in a carefully controlled fashion using tools integrated into Visual Studio with support for validation, authentication, authorization and handling units of work. &lt;/FONT&gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;Ref.: &lt;A title=http://microsoftpdc.com/Sessions/CL21 href="http://microsoftpdc.com/Sessions/CL21" mce_href="http://microsoftpdc.com/Sessions/CL21"&gt;http://microsoftpdc.com/Sessions/CL21&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;Não deixe de anotar e conferir os slides e vídeo da apresentação, assim que forem publicados no site do PDC09. Mais material sobre o framework nos links abaixo:&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Blogs de Brad Abrams &lt;BR&gt;&lt;/STRONG&gt;Ref.: &lt;A title=http://blogs.msdn.com/brada/default.aspx href="http://blogs.msdn.com/brada/default.aspx" rel=nofollow target=_blank mce_href="http://blogs.msdn.com/brada/default.aspx"&gt;http://blogs.msdn.com/brada/default.aspx&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;WCF RIA Services&lt;/STRONG&gt; &lt;BR&gt;Ref.: &lt;A title=http://silverlight.net/getstarted/riaservices/ href="http://silverlight.net/getstarted/riaservices/" rel=nofollow target=_blank mce_href="http://silverlight.net/getstarted/riaservices/"&gt;http://silverlight.net/getstarted/riaservices/&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;Por enquanto é só! Até o próximo post :)&lt;/P&gt;
&lt;P&gt;Waldemir.&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9925737" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/wcamb/archive/tags/Silverlight/default.aspx">Silverlight</category><category domain="http://blogs.msdn.com/wcamb/archive/tags/.NET+RIA+Services/default.aspx">.NET RIA Services</category><category domain="http://blogs.msdn.com/wcamb/archive/tags/PDC09/default.aspx">PDC09</category></item><item><title>pdc09: segundo dia de evento!</title><link>http://blogs.msdn.com/wcamb/archive/2009/11/18/pdc09-segundo-dia-de-evento.aspx</link><pubDate>Wed, 18 Nov 2009 19:57:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9924634</guid><dc:creator>wcamb</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/wcamb/comments/9924634.aspx</comments><wfw:commentRss>http://blogs.msdn.com/wcamb/commentrss.aspx?PostID=9924634</wfw:commentRss><wfw:comment>http://blogs.msdn.com/wcamb/rsscomments.aspx?PostID=9924634</wfw:comment><description>&lt;P&gt;Olá pessoal, tudo certo?&lt;/P&gt;
&lt;P&gt;O segundo dia de evento já começou e com grandes novidades. &lt;/P&gt;
&lt;P&gt;Depois de uma sessão especial com &lt;STRONG&gt;&lt;A href="http://www.microsoft.com/presspass/exec/ssinofsky/default.aspx" rel=nofollow target=_blank mce_href="http://www.microsoft.com/presspass/exec/ssinofsky/default.aspx"&gt;Steven Sinofsky&lt;/A&gt;&lt;/STRONG&gt;, presidente da divisão de Windows e Windows Live, falando sobre a evolução e o desenvolvimento do Windows 7, &lt;STRONG&gt;&lt;A href="http://weblogs.asp.net/scottgu/" rel=nofollow target=_blank mce_href="http://weblogs.asp.net/scottgu/"&gt;Scott Guthrie&lt;/A&gt;&lt;/STRONG&gt; apresentou as principais novidades do Silvelight 4.0. &lt;/P&gt;
&lt;P&gt;O grande anúncio do dia foi que o Silverlight 4 Beta já está disponível para download, confira:&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Silverlight 4 Beta &lt;BR&gt;&lt;/STRONG&gt;&lt;A title=http://silverlight.net/getstarted/silverlight-4-beta/ href="http://silverlight.net/getstarted/silverlight-4-beta/" rel=nofollow target=_blank mce_href="http://silverlight.net/getstarted/silverlight-4-beta/"&gt;http://silverlight.net/getstarted/silverlight-4-beta/&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;Ainda, tivemos uma sessão sobre as novidades do &lt;STRONG&gt;SharePoint 2010&lt;/STRONG&gt; e sua integração com o Visual Studio 2010, além de muitas novidades e demos sobre a performance e integração com hardware de diferentes dispositivos na plataforma Windows 7.&lt;/P&gt;
&lt;P&gt;Outro anúncio!!! O &lt;STRONG&gt;SharePoint 2010&lt;/STRONG&gt; e o &lt;STRONG&gt;Office 2010&lt;/STRONG&gt; também estão disponíveis para download, veja:&lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.msdn.com/blogfiles/wcamb/WindowsLiveWriter/pdc09segundodiadeevento_F9CF/image_6.png" mce_href="http://blogs.msdn.com/blogfiles/wcamb/WindowsLiveWriter/pdc09segundodiadeevento_F9CF/image_6.png"&gt;&lt;IMG style="BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; DISPLAY: inline; BORDER-TOP: 0px; BORDER-RIGHT: 0px" title=image border=0 alt=image src="http://blogs.msdn.com/blogfiles/wcamb/WindowsLiveWriter/pdc09segundodiadeevento_F9CF/image_thumb_2.png" width=521 height=252 mce_src="http://blogs.msdn.com/blogfiles/wcamb/WindowsLiveWriter/pdc09segundodiadeevento_F9CF/image_thumb_2.png"&gt;&lt;/A&gt;&amp;nbsp; &lt;BR&gt;Ref.: &lt;A title=http://www.microsoft.com/2010/en/ href="http://www.microsoft.com/2010/en/" rel=nofollow target=_blank mce_href="http://www.microsoft.com/2010/en/"&gt;http://www.microsoft.com/2010/en/&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;Com certeza, teremos muito assunto para novas séries aqui no blog, sobre plataformas, frameworks, ferramentas e as novidades que estão sendo apresentadas neste PDC09.&lt;/P&gt;
&lt;P&gt;Agora mesmo (Quarta-feira 11:50 am) estou na sessão sobre Melhores Práticas e Patterns para o SQL Azure Database, com o Principal Program Manager do produto, Tony Petrossian. Com certeza, vou colocar aqui no blog as novidades sobre o serviço!&lt;/P&gt;
&lt;P&gt;E não deixe de acompanhar o &lt;STRONG&gt;Channel9 Live&lt;/STRONG&gt;, que continua com entrevistas muito legais:&lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.msdn.com/blogfiles/wcamb/WindowsLiveWriter/pdc09segundodiadeevento_F9CF/image_2.png" mce_href="http://blogs.msdn.com/blogfiles/wcamb/WindowsLiveWriter/pdc09segundodiadeevento_F9CF/image_2.png"&gt;&lt;IMG style="BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; DISPLAY: inline; BORDER-TOP: 0px; BORDER-RIGHT: 0px" title=image border=0 alt=image src="http://blogs.msdn.com/blogfiles/wcamb/WindowsLiveWriter/pdc09segundodiadeevento_F9CF/image_thumb.png" width=244 height=137 mce_src="http://blogs.msdn.com/blogfiles/wcamb/WindowsLiveWriter/pdc09segundodiadeevento_F9CF/image_thumb.png"&gt;&lt;/A&gt;&amp;nbsp; &lt;BR&gt;Ref.: &lt;A title=http://microsoftpdc.com/ href="http://microsoftpdc.com/" target=_blank mce_href="http://microsoftpdc.com/"&gt;http://microsoftpdc.com/&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;Por enquanto é só! Até o próximo post :)&lt;/P&gt;
&lt;P&gt;Waldemir.&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9924634" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/wcamb/archive/tags/Silverlight/default.aspx">Silverlight</category><category domain="http://blogs.msdn.com/wcamb/archive/tags/Windows+7/default.aspx">Windows 7</category><category domain="http://blogs.msdn.com/wcamb/archive/tags/PDC09/default.aspx">PDC09</category></item><item><title>Innovation Lab Treinamentos On-Line</title><link>http://blogs.msdn.com/wcamb/archive/2009/11/04/innovation-lab-treinamentos-on-line.aspx</link><pubDate>Wed, 04 Nov 2009 12:40:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9917279</guid><dc:creator>wcamb</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/wcamb/comments/9917279.aspx</comments><wfw:commentRss>http://blogs.msdn.com/wcamb/commentrss.aspx?PostID=9917279</wfw:commentRss><wfw:comment>http://blogs.msdn.com/wcamb/rsscomments.aspx?PostID=9917279</wfw:comment><description>&lt;P&gt;Olá pessoal, tudo certo?&lt;/P&gt;
&lt;P&gt;Vários treinamentos já estão disponíveis através do&lt;STRONG&gt; Innovatio Lab – Treinamentos On-Line, &lt;/STRONG&gt;que agora está com uma aplicação de navegação de conteúdo em Silverlight 3.0. &lt;/P&gt;
&lt;P&gt;Esse material já é muito conhecido de parceiros Microsoft, mas pode ser aproveitado por todos, confira:&lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.msdn.com/blogfiles/wcamb/WindowsLiveWriter/InnovationLabTreinamentosOnLine_1391E/image_2.png" mce_href="http://blogs.msdn.com/blogfiles/wcamb/WindowsLiveWriter/InnovationLabTreinamentosOnLine_1391E/image_2.png"&gt;&lt;IMG style="BORDER-RIGHT-WIDTH: 0px; DISPLAY: inline; BORDER-TOP-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px" title=image border=0 alt=image src="http://blogs.msdn.com/blogfiles/wcamb/WindowsLiveWriter/InnovationLabTreinamentosOnLine_1391E/image_thumb.png" width=528 height=249 mce_src="http://blogs.msdn.com/blogfiles/wcamb/WindowsLiveWriter/InnovationLabTreinamentosOnLine_1391E/image_thumb.png"&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Innovation Lab Treinamentos On-Line&lt;/STRONG&gt; &lt;BR&gt;Ref.: &lt;A title=http://www.microsoft.com/brasil/parceiros/dev/innovationlab/ href="http://www.microsoft.com/brasil/parceiros/dev/innovationlab/" rel=nofollow target=_blank mce_href="http://www.microsoft.com/brasil/parceiros/dev/innovationlab/"&gt;http://www.microsoft.com/brasil/parceiros/dev/innovationlab/&lt;/A&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Na figura acima, fiz um destaque ainda para a opção de colocar a aplicação localmente, fora do browser. Esse recursos é nativo do&lt;STRONG&gt; Silverlight 3.0&lt;/STRONG&gt; e permite a instalação do &lt;STRONG&gt;Innovation Lab &lt;/STRONG&gt;em sua versão Off-Line. Basta usar o botão direito do mouse, na opção “&lt;EM&gt;Install Innovation Lab Off-Line onto this computer&lt;/EM&gt;”.&lt;/P&gt;
&lt;P&gt;Em breve, novos treinamentos serão disponibilizados para download.Assim, divulgue mais esse material para a sua equipe.&lt;/P&gt;
&lt;P&gt;Por enquanto é só! Até o próximo post :)&lt;/P&gt;
&lt;P&gt;Waldemir.&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9917279" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/wcamb/archive/tags/Silverlight/default.aspx">Silverlight</category><category domain="http://blogs.msdn.com/wcamb/archive/tags/Leitura+Recomendada/default.aspx">Leitura Recomendada</category></item><item><title>Protótipos com o Expression Blend 3 + SketchFlow</title><link>http://blogs.msdn.com/wcamb/archive/2009/09/09/prot-tipos-com-o-expression-blend-3-sketchflow.aspx</link><pubDate>Wed, 09 Sep 2009 17:14:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9893099</guid><dc:creator>wcamb</dc:creator><slash:comments>4</slash:comments><comments>http://blogs.msdn.com/wcamb/comments/9893099.aspx</comments><wfw:commentRss>http://blogs.msdn.com/wcamb/commentrss.aspx?PostID=9893099</wfw:commentRss><wfw:comment>http://blogs.msdn.com/wcamb/rsscomments.aspx?PostID=9893099</wfw:comment><description>&lt;P&gt;&lt;A href="http://blogs.msdn.com/blogfiles/wcamb/WindowsLiveWriter/ea57294819cd_126A9/image_2.png" mce_href="http://blogs.msdn.com/blogfiles/wcamb/WindowsLiveWriter/ea57294819cd_126A9/image_2.png"&gt;&lt;IMG style="BORDER-RIGHT-WIDTH: 0px; MARGIN: 0px 10px 10px 0px; DISPLAY: inline; BORDER-TOP-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px" title=image border=0 alt=image align=left src="http://blogs.msdn.com/blogfiles/wcamb/WindowsLiveWriter/ea57294819cd_126A9/image_thumb.png" width=240 height=171 mce_src="http://blogs.msdn.com/blogfiles/wcamb/WindowsLiveWriter/ea57294819cd_126A9/image_thumb.png"&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;Olá pessoal, tudo certo?&lt;/P&gt;
&lt;P&gt;Semana passada tive a oportunidade de trabalhar um pouco com o &lt;STRONG&gt;Expression Blend 3 + SketchFlow&lt;/STRONG&gt;. &lt;/P&gt;
&lt;P&gt;O que achei interessante nessa dupla foi mesmo a possibilidade de criar protótipos sobre o SketchFlow, de um modo bem rápido.&lt;/P&gt;
&lt;P&gt;Ao invés de usar apenas rascunhos em papel ou quadro branco (gosto deles), agora você pode também usar o &lt;STRONG&gt;SketchFlow&lt;/STRONG&gt;, criando sequências de navegação, relacionamento entre páginas/telas e mapas de decisão para seus projetos.&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Microsoft Expression Blend 3 + SketchFlow&lt;/STRONG&gt; &lt;BR&gt;Ref.: &lt;A href="http://www.microsoft.com/expression/products/Blend_Overview.aspx" rel=nofollow target=_blank mce_href="http://www.microsoft.com/expression/products/Blend_Overview.aspx"&gt;http://www.microsoft.com/expression/products/Blend_Overview.aspx&lt;/A&gt; &lt;/P&gt;
&lt;P&gt;Vale conferir!!! Pessoalmente, achei muuuito bom! :)&lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.msdn.com/blogfiles/wcamb/WindowsLiveWriter/ea57294819cd_126A9/image_4.png" mce_href="http://blogs.msdn.com/blogfiles/wcamb/WindowsLiveWriter/ea57294819cd_126A9/image_4.png"&gt;&lt;IMG style="BORDER-RIGHT-WIDTH: 0px; DISPLAY: inline; BORDER-TOP-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px" title=image border=0 alt=image src="http://blogs.msdn.com/blogfiles/wcamb/WindowsLiveWriter/ea57294819cd_126A9/image_thumb_1.png" width=500 height=405 mce_src="http://blogs.msdn.com/blogfiles/wcamb/WindowsLiveWriter/ea57294819cd_126A9/image_thumb_1.png"&gt;&lt;/A&gt;&amp;nbsp; &lt;/P&gt;
&lt;P&gt;Para saber mais, alguns links e tutoriais muito bons estão abaixo:&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Frank La Vigne - SketchFlow Tutorial&lt;/STRONG&gt; &lt;BR&gt;Ref.: &lt;A href="http://franksworld.com/blog/archive/2009/08/27/11677.aspx" rel=nofollow target=_blank mce_href="http://franksworld.com/blog/archive/2009/08/27/11677.aspx"&gt;http://franksworld.com/blog/archive/2009/08/27/11677.aspx&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Introduction to Prototyping with SketchFlow in Expression Blend 3 &lt;BR&gt;&lt;/STRONG&gt;Ref.: &lt;A href="http://download.microsoft.com/download/A/4/9/A49AB02F-F035-402C-9B26-84860EEAF7DC/Prototyping_with_Sketchflow_StarterKit.zip" rel=nofollow target=_blank mce_href="http://download.microsoft.com/download/A/4/9/A49AB02F-F035-402C-9B26-84860EEAF7DC/Prototyping_with_Sketchflow_StarterKit.zip"&gt;http://download.microsoft.com/download/A/4/9/A49AB02F-F035-402C-9B26-84860EEAF7DC/Prototyping_with_Sketchflow_StarterKit.zip&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Venture into Gaming with Behaviors in Expression Blend 3&lt;/STRONG&gt; &lt;BR&gt;Ref.: &lt;A href="http://download.microsoft.com/download/1/1/C/11C8F2E2-711B-4581-A688-6B66DA4D1124/VentureIntoGaming_ExpressionBlend3_StarterKit.zip" rel=nofollow target=_blank mce_href="http://download.microsoft.com/download/1/1/C/11C8F2E2-711B-4581-A688-6B66DA4D1124/VentureIntoGaming_ExpressionBlend3_StarterKit.zip"&gt;http://download.microsoft.com/download/1/1/C/11C8F2E2-711B-4581-A688-6B66DA4D1124/VentureIntoGaming_ExpressionBlend3_StarterKit.zip&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Discovering SuperPreview in Expression Web 3 &lt;BR&gt;&lt;/STRONG&gt;Ref.: &lt;A href="http://download.microsoft.com/download/F/3/4/F343C86B-FEE4-4448-8715-CA768BB305FE/ExpressionWeb3_SuperPreview_StarterKit.zip" rel=nofollow target=_blank mce_href="http://download.microsoft.com/download/F/3/4/F343C86B-FEE4-4448-8715-CA768BB305FE/ExpressionWeb3_SuperPreview_StarterKit.zip"&gt;http://download.microsoft.com/download/F/3/4/F343C86B-FEE4-4448-8715-CA768BB305FE/ExpressionWeb3_SuperPreview_StarterKit.zip&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Support for Silverlight in Expression Web 3&lt;/STRONG&gt; &lt;BR&gt;Ref.: &lt;A href="http://download.microsoft.com/download/B/9/8/B9874A4F-58F8-4D01-8E2F-E1DAC62ED4A3/SilverlightSupport_Web3_StarterKit.zip" rel=nofollow target=_blank mce_href="http://download.microsoft.com/download/B/9/8/B9874A4F-58F8-4D01-8E2F-E1DAC62ED4A3/SilverlightSupport_Web3_StarterKit.zip"&gt;http://download.microsoft.com/download/B/9/8/B9874A4F-58F8-4D01-8E2F-E1DAC62ED4A3/SilverlightSupport_Web3_StarterKit.zip&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;Por enquanto é só! Até o próximo post :)&lt;/P&gt;
&lt;P&gt;Waldemir.&amp;nbsp; &lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9893099" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/wcamb/archive/tags/Silverlight/default.aspx">Silverlight</category></item><item><title>Leitura Recomendada: Microsoft Silverlight 3 Offline Documentation</title><link>http://blogs.msdn.com/wcamb/archive/2009/09/04/leitura-recomendada-microsoft-silverlight-3-offline-documentation.aspx</link><pubDate>Fri, 04 Sep 2009 21:38:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9891556</guid><dc:creator>wcamb</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/wcamb/comments/9891556.aspx</comments><wfw:commentRss>http://blogs.msdn.com/wcamb/commentrss.aspx?PostID=9891556</wfw:commentRss><wfw:comment>http://blogs.msdn.com/wcamb/rsscomments.aspx?PostID=9891556</wfw:comment><description>&lt;P&gt;Olá pessoal, tudo certo?&lt;/P&gt;
&lt;P&gt;Semana passada tivemos a publicação da documentação offline do Silverlight 3, bem completa. Como sei de algumas empresas que estão em franco desenvolvimento com SL3 para aplicações LOB, vale a dica de download:&lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.msdn.com/blogfiles/wcamb/WindowsLiveWriter/86941a95dcd1_D959/image_4.png" mce_href="http://blogs.msdn.com/blogfiles/wcamb/WindowsLiveWriter/86941a95dcd1_D959/image_4.png"&gt;&lt;IMG style="BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; DISPLAY: inline; BORDER-TOP: 0px; BORDER-RIGHT: 0px" title=image border=0 alt=image src="http://blogs.msdn.com/blogfiles/wcamb/WindowsLiveWriter/86941a95dcd1_D959/image_thumb_1.png" width=449 height=545 mce_src="http://blogs.msdn.com/blogfiles/wcamb/WindowsLiveWriter/86941a95dcd1_D959/image_thumb_1.png"&gt;&lt;/A&gt; &lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Microsoft Silverlight 3 Offline Documentation &lt;BR&gt;&lt;/STRONG&gt;Date Published: 8/28/2009 &lt;BR&gt;Ref.: &lt;A title=http://www.microsoft.com/downloads/details.aspx?familyid=0A9773A7-C854-41FA-B73D-535ABFB73BAF&amp;amp;displaylang=en href="http://www.microsoft.com/downloads/details.aspx?familyid=0A9773A7-C854-41FA-B73D-535ABFB73BAF&amp;amp;displaylang=en" rel=nofollow target=_blank mce_href="http://www.microsoft.com/downloads/details.aspx?familyid=0A9773A7-C854-41FA-B73D-535ABFB73BAF&amp;amp;displaylang=en"&gt;http://www.microsoft.com/downloads/details.aspx?familyid=0A9773A7-C854-41FA-B73D-535ABFB73BAF&amp;amp;displaylang=en&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;Aproveitando, se você ainda não viu os recursos do &lt;STRONG&gt;Silverlight Toolkit&lt;/STRONG&gt;, tem alguns controles que vão te interessar nesse pacote, recomendo!&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Silverlight 3 Toolkit July 2009 &lt;BR&gt;&lt;/STRONG&gt;&lt;A href="http://silverlight.codeplex.com/Release/ProjectReleases.aspx?ReleaseId=24246" rel=nofollow target=_blank mce_href="http://silverlight.codeplex.com/Release/ProjectReleases.aspx?ReleaseId=24246"&gt;http://silverlight.codeplex.com/Release/ProjectReleases.aspx?ReleaseId=24246&lt;/A&gt; &lt;/P&gt;
&lt;P&gt;Outro pacote importante é o Tools for Visual Studio:&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Microsoft® Silverlight™ 3 Tools for Visual Studio 2008 SP1&lt;/STRONG&gt; &lt;BR&gt;Ref.: &lt;A href="http://www.microsoft.com/downloads/details.aspx?familyid=9442b0f2-7465-417a-88f3-5e7b5409e9dd&amp;amp;displaylang=en" rel=nofollow target=_blank mce_href="http://www.microsoft.com/downloads/details.aspx?familyid=9442b0f2-7465-417a-88f3-5e7b5409e9dd&amp;amp;displaylang=en"&gt;http://www.microsoft.com/downloads/details.aspx?familyid=9442b0f2-7465-417a-88f3-5e7b5409e9dd&amp;amp;displaylang=en&lt;/A&gt; &lt;/P&gt;
&lt;P&gt;Por enquanto é só! Até o próximo post :)&lt;/P&gt;
&lt;P&gt;Waldemir.&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9891556" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/wcamb/archive/tags/Silverlight/default.aspx">Silverlight</category><category domain="http://blogs.msdn.com/wcamb/archive/tags/Leitura+Recomendada/default.aspx">Leitura Recomendada</category></item><item><title>Silverlight 3 já está disponível</title><link>http://blogs.msdn.com/wcamb/archive/2009/07/14/silverlight-3-j-est-dispon-vel.aspx</link><pubDate>Tue, 14 Jul 2009 16:34:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9833130</guid><dc:creator>wcamb</dc:creator><slash:comments>4</slash:comments><comments>http://blogs.msdn.com/wcamb/comments/9833130.aspx</comments><wfw:commentRss>http://blogs.msdn.com/wcamb/commentrss.aspx?PostID=9833130</wfw:commentRss><wfw:comment>http://blogs.msdn.com/wcamb/rsscomments.aspx?PostID=9833130</wfw:comment><description>&lt;P&gt;&lt;A href="http://blogs.msdn.com/blogfiles/wcamb/WindowsLiveWriter/5152f36c26b4_CCC0/image_8.png" mce_href="http://blogs.msdn.com/blogfiles/wcamb/WindowsLiveWriter/5152f36c26b4_CCC0/image_8.png"&gt;&lt;IMG style="BORDER-RIGHT-WIDTH: 0px; DISPLAY: inline; BORDER-TOP-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px" title=image border=0 alt=image src="http://blogs.msdn.com/blogfiles/wcamb/WindowsLiveWriter/5152f36c26b4_CCC0/image_thumb_3.png" width=537 height=83 mce_src="http://blogs.msdn.com/blogfiles/wcamb/WindowsLiveWriter/5152f36c26b4_CCC0/image_thumb_3.png"&gt;&lt;/A&gt; &lt;/P&gt;
&lt;P&gt;Olá pessoal, tudo certo?&lt;/P&gt;
&lt;P&gt;Sexta-feira passada tivemos o lançamento do&lt;STRONG&gt; Silverlight 3&lt;/STRONG&gt;, com uma série de novas funcionalidades para desenvolvedores e para a construção &lt;BR&gt;de aplicações &lt;STRONG&gt;RIA – Rich Internet Applications&lt;/STRONG&gt;.&lt;/P&gt;
&lt;P&gt;Para começar, os links que precisamos atualizar são esses:&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Silverlight 3 &lt;BR&gt;&lt;/STRONG&gt;Ref.: &lt;A title=http://www.microsoft.com/silverlight/get-started/install/default.aspx href="http://www.microsoft.com/silverlight/get-started/install/default.aspx" rel=nofollow target=_blank mce_href="http://www.microsoft.com/silverlight/get-started/install/default.aspx"&gt;http://www.microsoft.com/silverlight/get-started/install/default.aspx&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Silverlight 3 Get Started&lt;/STRONG&gt; &lt;BR&gt;Ref.: &lt;A href="http://silverlight.net/GetStarted/" rel=nofollow target=_blank mce_href="http://silverlight.net/GetStarted/"&gt;http://silverlight.net/GetStarted/&lt;/A&gt; &lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Microsoft® Silverlight™ 3 Tools for Visual Studio 2008 SP1&lt;/STRONG&gt; &lt;BR&gt;Ref.: &lt;A href="http://www.microsoft.com/downloads/details.aspx?familyid=9442b0f2-7465-417a-88f3-5e7b5409e9dd&amp;amp;displaylang=en" rel=nofollow target=_blank mce_href="http://www.microsoft.com/downloads/details.aspx?familyid=9442b0f2-7465-417a-88f3-5e7b5409e9dd&amp;amp;displaylang=en"&gt;http://www.microsoft.com/downloads/details.aspx?familyid=9442b0f2-7465-417a-88f3-5e7b5409e9dd&amp;amp;displaylang=en&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Microsoft Expression Blend 3 + SketchFlow RC&lt;/STRONG&gt; &lt;BR&gt;Ref.: &lt;A href="http://www.microsoft.com/downloads/details.aspx?FamilyID=92e1db7a-5d36-449b-8c6b-d25f078f3609&amp;amp;displaylang=en" rel=nofollow target=_blank mce_href="http://www.microsoft.com/downloads/details.aspx?FamilyID=92e1db7a-5d36-449b-8c6b-d25f078f3609&amp;amp;displaylang=en"&gt;http://www.microsoft.com/downloads/details.aspx?FamilyID=92e1db7a-5d36-449b-8c6b-d25f078f3609&amp;amp;displaylang=en&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Silverlight 3 Toolkit July 2009 Installer&lt;/STRONG&gt; &lt;BR&gt;Ref.: &lt;A title=http://silverlight.codeplex.com/Release/ProjectReleases.aspx?ReleaseId=24246 href="http://silverlight.codeplex.com/Release/ProjectReleases.aspx?ReleaseId=24246" rel=nofollow target=_blank mce_href="http://silverlight.codeplex.com/Release/ProjectReleases.aspx?ReleaseId=24246"&gt;http://silverlight.codeplex.com/Release/ProjectReleases.aspx?ReleaseId=24246&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;Focando a construção de aplicações, gostaria de destacar alguns recursos importantes do SL3:&lt;/P&gt;
&lt;OL&gt;
&lt;LI&gt;Suporte para aplicações Silverlight fora do browser, criando um efeito visual bem mais acabado para as interfaces de aplicação RIA; &lt;/LI&gt;
&lt;LI&gt;Inclusão de mais de 100 novos controles de interfaces, como layout, dados, charting, child windows, etc. assim como o suporte para a customização de novos controles; &lt;/LI&gt;
&lt;LI&gt;Suporte a validação de erros através do &lt;EM&gt;Validation Error Template&lt;/EM&gt;. &lt;EM&gt;Binding&lt;/EM&gt; de dados através do &lt;EM&gt;DataGrid&lt;/EM&gt;, assim como cenários de controle para &lt;EM&gt;DataForm&lt;/EM&gt;; &lt;/LI&gt;
&lt;LI&gt;Um recurso bem interessante do SL3 é o suporte a&lt;EM&gt; SEO - Search Engine Optimization&lt;/EM&gt;, o que permite a indexação de conteúdo do SL3 através de motores de busca como Bing, Google e Yahoo. Esse recurso é muito importante em aplicações LOB diversas com interfaces RIA em Silverlight; &lt;/LI&gt;
&lt;LI&gt;Outro recurso interessante do SL3 é o caching de assemblies no cliente, permitindo o reuso de componentes através de múltiplas aplicações; &lt;/LI&gt;
&lt;LI&gt;Outro pedido do mercado foi o suporte para codificação binária em chamadas de serviços WCF. Até a versão 2.0 do Silverlight, era suportado apenas o &lt;EM&gt;BasicHttpBinding&lt;/EM&gt;, que codifica a mensagem em formato texto, permitindo a integração com Web Services baseados no SOAP 1.1. Agora, o SL3 suporta a codificação binária da chamada SOAP, o que diminui o tamanho da mensagem trocada entre cliente e serviço, permitindo a intergação entre Silverlight e serviços WCF mais sofisticados; &lt;/LI&gt;
&lt;LI&gt;Já falei aqui também do .NET RIA Services, um framework para a construção de aplicações de múltiplas camadas que amplia os cenários para clientes e servidores. Através de templates do .NET RIA Services, podemos criar aplicações em múltiplas camadas com Silverlight 3, manipulando a lógica de negócio de um modo mais eficiente para aplicações RIA; &lt;/LI&gt;
&lt;LI&gt;O Visual Studio 2008 Tools for Silverlight 3 também teve destaque, suportando recursos como intellisense, compilação e depuração para aplicações em Silverlight, entre outros recursos. &lt;/LI&gt;&lt;/OL&gt;
&lt;P&gt;Para ilustrar o SL3, veja ainda o vídeo abaixo (meio “sem florestas” :), que apresenta o uso inteligente de resolução de imagem de acordo com o consumo de banda de sua conexão internet, recurso conhecido como &lt;STRONG&gt;SmoothStreaming&lt;/STRONG&gt;:&lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.msdn.com/blogfiles/wcamb/WindowsLiveWriter/5152f36c26b4_CCC0/image_2.png" mce_href="http://blogs.msdn.com/blogfiles/wcamb/WindowsLiveWriter/5152f36c26b4_CCC0/image_2.png"&gt;&lt;IMG style="BORDER-RIGHT-WIDTH: 0px; DISPLAY: inline; BORDER-TOP-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px" title=image border=0 alt=image src="http://blogs.msdn.com/blogfiles/wcamb/WindowsLiveWriter/5152f36c26b4_CCC0/image_thumb.png" width=244 height=130 mce_src="http://blogs.msdn.com/blogfiles/wcamb/WindowsLiveWriter/5152f36c26b4_CCC0/image_thumb.png"&gt;&lt;/A&gt; &lt;/P&gt;
&lt;P&gt;Ref.: &lt;A title=http://www.iis.net/media/experiencesmoothstreaming href="http://www.iis.net/media/experiencesmoothstreaming" rel=nofollow target=_blank mce_href="http://www.iis.net/media/experiencesmoothstreaming"&gt;http://www.iis.net/media/experiencesmoothstreaming&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;Em posts futuros, vamos olhar um pouco mais sobre aplicações LOB usando o SL3 e recursos RIA.&lt;/P&gt;
&lt;P&gt;Para conhecer mais sobre as novidades do SL3, confira também o blog sempre bacana do Renê, &lt;A href="http://blogs.msdn.com/renedepaula/archive/2009/07/13/teste-aqui-as-novas-features-do-silverlight-3.aspx" rel=nofollow target=_blank mce_href="http://blogs.msdn.com/renedepaula/archive/2009/07/13/teste-aqui-as-novas-features-do-silverlight-3.aspx"&gt;aqui&lt;/A&gt;!&lt;/P&gt;
&lt;P&gt;Por enquanto é só! Até o próximo post :)&lt;/P&gt;
&lt;P&gt;Waldemir.&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9833130" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/wcamb/archive/tags/Silverlight/default.aspx">Silverlight</category></item><item><title>HelloWorld com o .NET RIA Services</title><link>http://blogs.msdn.com/wcamb/archive/2009/06/24/helloworld-com-o-net-ria-services.aspx</link><pubDate>Thu, 25 Jun 2009 01:35:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9802328</guid><dc:creator>wcamb</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/wcamb/comments/9802328.aspx</comments><wfw:commentRss>http://blogs.msdn.com/wcamb/commentrss.aspx?PostID=9802328</wfw:commentRss><wfw:comment>http://blogs.msdn.com/wcamb/rsscomments.aspx?PostID=9802328</wfw:comment><description>&lt;P&gt;Olá pessoal, tudo certo?&lt;/P&gt;
&lt;P&gt;Quando pensamos no desenvolvimento de aplicações &lt;STRONG&gt;RIA – Rich Internet Application&lt;/STRONG&gt;, o uso de uma abordagem n-tier envolve uma série de desafios. Assim, o principal objetivo do&lt;STRONG&gt; .NET RIA Services&lt;/STRONG&gt; é oferecer a produtividade do &lt;STRONG&gt;ASP.NET&lt;/STRONG&gt;/&lt;STRONG&gt;RAD - Rapid Application Development&lt;/STRONG&gt; para o desenvolvimento de aplicações RIA. &lt;/P&gt;
&lt;P&gt;O&lt;STRONG&gt; .NET RIA Services&lt;/STRONG&gt; oferece uma unificação no desenvolvimento entre cliente e servidor, focando os dados da aplicação e a camada de negócios. Através de um framework prescritivo, que oferece templates e patterns atendendo cenários típicos de RIA, o .NET RIA Services lida com os principais tópicos de integração do cliente Web com as camadas de negócio do lado do servidor, encapsulando diversas operações.&lt;/P&gt;
&lt;P&gt;Entre os principais tópicos tratados pelo .NET RIA Services temos:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;&lt;FONT color=#000080&gt;manipulação de dados, através de ordenação, paginação e filtros;&lt;/FONT&gt; &lt;/LI&gt;
&lt;LI&gt;&lt;FONT color=#000080&gt;regras de acesso a dados, através de autorização, validação e conflito de acesso;&lt;/FONT&gt; &lt;/LI&gt;
&lt;LI&gt;&lt;FONT color=#000080&gt;operações customizadas;&lt;/FONT&gt; &lt;/LI&gt;
&lt;LI&gt;&lt;FONT color=#000080&gt;operações batching e off-line;&lt;/FONT&gt; &lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;Neste post, vamos ver uma primeira aplicação com o .NET RIA Services, usando o CTP de Maio de 2009. Para preparar sua máquina para esse desenvolvimento, instale os pacotes indicados neste post &lt;A href="http://blogs.msdn.com/wcamb/archive/2009/06/22/net-ria-services-roadmap.aspx" target=_blank mce_href="http://blogs.msdn.com/wcamb/archive/2009/06/22/net-ria-services-roadmap.aspx"&gt;aqui&lt;/A&gt;.&lt;/P&gt;
&lt;P&gt;Vamos começar criando uma aplicação do tipo “&lt;STRONG&gt;Silverlight Navigation Application”&lt;/STRONG&gt; com o Visual Studio 2008:&lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.msdn.com/blogfiles/wcamb/WindowsLiveWriter/HelloWorldparao.NETRIAServices_105CF/image_6.png" mce_href="http://blogs.msdn.com/blogfiles/wcamb/WindowsLiveWriter/HelloWorldparao.NETRIAServices_105CF/image_6.png"&gt;&lt;IMG style="BORDER-RIGHT-WIDTH: 0px; WIDTH: 503px; DISPLAY: inline; BORDER-TOP-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; HEIGHT: 317px; BORDER-LEFT-WIDTH: 0px" title=image border=0 alt=image src="http://blogs.msdn.com/blogfiles/wcamb/WindowsLiveWriter/HelloWorldparao.NETRIAServices_105CF/image_thumb_2.png" width=524 height=332 mce_src="http://blogs.msdn.com/blogfiles/wcamb/WindowsLiveWriter/HelloWorldparao.NETRIAServices_105CF/image_thumb_2.png"&gt;&lt;/A&gt; &lt;/P&gt;
&lt;P&gt;Criando nossa aplicação “&lt;STRONG&gt;HelloWorldRIAServices&lt;/STRONG&gt;”, devemos selecionar as opções de "&lt;STRONG&gt;Host the Silverlight application in a new Web Site&lt;/STRONG&gt;”, assim como a opção "&lt;STRONG&gt;Link to ASP.NET server project&lt;/STRONG&gt;", como vemos na figura a seguir:&lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.msdn.com/blogfiles/wcamb/WindowsLiveWriter/HelloWorldparao.NETRIAServices_105CF/image_8.png" mce_href="http://blogs.msdn.com/blogfiles/wcamb/WindowsLiveWriter/HelloWorldparao.NETRIAServices_105CF/image_8.png"&gt;&lt;IMG style="BORDER-RIGHT-WIDTH: 0px; DISPLAY: inline; BORDER-TOP-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px" title=image border=0 alt=image src="http://blogs.msdn.com/blogfiles/wcamb/WindowsLiveWriter/HelloWorldparao.NETRIAServices_105CF/image_thumb_3.png" width=431 height=375 mce_src="http://blogs.msdn.com/blogfiles/wcamb/WindowsLiveWriter/HelloWorldparao.NETRIAServices_105CF/image_thumb_3.png"&gt;&lt;/A&gt; &lt;/P&gt;
&lt;P&gt;Nossa solução é criada com dois projetos principais: a parte &lt;STRONG&gt;cliente&lt;/STRONG&gt; e a parte &lt;STRONG&gt;servidor&lt;/STRONG&gt;, já que escolhemos um projeto do tipo ASP.NET Web Application para container da solução. No futuro, teremos outras opções disponíveis para o .NET RIA Services. A solução faz referência para algumas bibliotecas novas, como vemos abaixo: &lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.msdn.com/blogfiles/wcamb/WindowsLiveWriter/HelloWorldparao.NETRIAServices_105CF/image_12.png" mce_href="http://blogs.msdn.com/blogfiles/wcamb/WindowsLiveWriter/HelloWorldparao.NETRIAServices_105CF/image_12.png"&gt;&lt;IMG style="BORDER-RIGHT-WIDTH: 0px; DISPLAY: inline; BORDER-TOP-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px" title=image border=0 alt=image src="http://blogs.msdn.com/blogfiles/wcamb/WindowsLiveWriter/HelloWorldparao.NETRIAServices_105CF/image_thumb_5.png" width=317 height=481 mce_src="http://blogs.msdn.com/blogfiles/wcamb/WindowsLiveWriter/HelloWorldparao.NETRIAServices_105CF/image_thumb_5.png"&gt;&lt;/A&gt; &lt;/P&gt;
&lt;P&gt;Nesse ponto, faça uma primeira compilação e execute a solução. Você verá uma página Web com &lt;STRONG&gt;Silverlight 3.0&lt;/STRONG&gt;, que oferece a estrutura base para nossa solução. Essa página poderá ser customizada conforme a necessidade de sua aplicação.&lt;/P&gt;
&lt;P&gt;O passo seguinte é criar um modelo de dados. Adicione uma classe &lt;STRONG&gt;LINQ to SQL&lt;/STRONG&gt; ao projeto “&lt;STRONG&gt;HelloWorldRIAServices.Web&lt;/STRONG&gt;”, apontando para a base de dados de sua preferência. &lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.msdn.com/blogfiles/wcamb/WindowsLiveWriter/HelloWorldparao.NETRIAServices_105CF/image_16.png" mce_href="http://blogs.msdn.com/blogfiles/wcamb/WindowsLiveWriter/HelloWorldparao.NETRIAServices_105CF/image_16.png"&gt;&lt;IMG style="BORDER-RIGHT-WIDTH: 0px; DISPLAY: inline; BORDER-TOP-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px" title=image border=0 alt=image src="http://blogs.msdn.com/blogfiles/wcamb/WindowsLiveWriter/HelloWorldparao.NETRIAServices_105CF/image_thumb_7.png" width=520 height=347 mce_src="http://blogs.msdn.com/blogfiles/wcamb/WindowsLiveWriter/HelloWorldparao.NETRIAServices_105CF/image_thumb_7.png"&gt;&lt;/A&gt; &lt;/P&gt;
&lt;P&gt;Com a classe &lt;STRONG&gt;LINQ to SQL&lt;/STRONG&gt; criada, adicione as tabelas desejadas. No meu exemplo, adicionei o modelo de dados com as seguintes tabelas:&lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.msdn.com/blogfiles/wcamb/WindowsLiveWriter/HelloWorldparao.NETRIAServices_105CF/image_18.png" mce_href="http://blogs.msdn.com/blogfiles/wcamb/WindowsLiveWriter/HelloWorldparao.NETRIAServices_105CF/image_18.png"&gt;&lt;IMG style="BORDER-RIGHT-WIDTH: 0px; WIDTH: 443px; DISPLAY: inline; BORDER-TOP-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; HEIGHT: 304px; BORDER-LEFT-WIDTH: 0px" title=image border=0 alt=image src="http://blogs.msdn.com/blogfiles/wcamb/WindowsLiveWriter/HelloWorldparao.NETRIAServices_105CF/image_thumb_8.png" width=481 height=337 mce_src="http://blogs.msdn.com/blogfiles/wcamb/WindowsLiveWriter/HelloWorldparao.NETRIAServices_105CF/image_thumb_8.png"&gt;&lt;/A&gt; &lt;/P&gt;
&lt;P&gt;Nesse ponto, faça mais uma compilação, gerando assim as classes para o mapeamento de dados do modelo escolhido, antes de continuar.&lt;/P&gt;
&lt;P&gt;Feita a compilação, vamos adicionar uma classe &lt;STRONG&gt;Domain Service&lt;/STRONG&gt;, da categoria Web. Adicione essa nova classe ao projeto “&lt;STRONG&gt;HelloWorldRIAServices.Web&lt;/STRONG&gt;”.&lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.msdn.com/blogfiles/wcamb/WindowsLiveWriter/HelloWorldparao.NETRIAServices_105CF/image_20.png" mce_href="http://blogs.msdn.com/blogfiles/wcamb/WindowsLiveWriter/HelloWorldparao.NETRIAServices_105CF/image_20.png"&gt;&lt;IMG style="BORDER-RIGHT-WIDTH: 0px; DISPLAY: inline; BORDER-TOP-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px" title=image border=0 alt=image src="http://blogs.msdn.com/blogfiles/wcamb/WindowsLiveWriter/HelloWorldparao.NETRIAServices_105CF/image_thumb_9.png" width=514 height=358 mce_src="http://blogs.msdn.com/blogfiles/wcamb/WindowsLiveWriter/HelloWorldparao.NETRIAServices_105CF/image_thumb_9.png"&gt;&lt;/A&gt; &lt;/P&gt;
&lt;P&gt;No meu exemplo, chamei essa nova classe de “&lt;STRONG&gt;HelloWorldDomainService.cs&lt;/STRONG&gt;”. Assim que você clicar em “Add”, você terá uma nova janela para escolher as &lt;STRONG&gt;entidades&lt;/STRONG&gt; que farão parte de seu domínio de serviços e serão expostas para o lado cliente. &lt;/P&gt;
&lt;P&gt;Escolhi todas as tabelas, sem a opção de edição ligada, veja:&lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.msdn.com/blogfiles/wcamb/WindowsLiveWriter/HelloWorldparao.NETRIAServices_105CF/image_24.png" mce_href="http://blogs.msdn.com/blogfiles/wcamb/WindowsLiveWriter/HelloWorldparao.NETRIAServices_105CF/image_24.png"&gt;&lt;IMG style="BORDER-RIGHT-WIDTH: 0px; WIDTH: 428px; DISPLAY: inline; BORDER-TOP-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; HEIGHT: 444px; BORDER-LEFT-WIDTH: 0px" title=image border=0 alt=image src="http://blogs.msdn.com/blogfiles/wcamb/WindowsLiveWriter/HelloWorldparao.NETRIAServices_105CF/image_thumb_11.png" width=460 height=472 mce_src="http://blogs.msdn.com/blogfiles/wcamb/WindowsLiveWriter/HelloWorldparao.NETRIAServices_105CF/image_thumb_11.png"&gt;&lt;/A&gt; &lt;/P&gt;
&lt;P&gt;Note que estou selecionando também a opção “&lt;STRONG&gt;Generate associated classes for metadata&lt;/STRONG&gt;”. Essa opção irá gerar as classes no lado cliente, para o tratamento das entidades na camada de apresentação. Você poderá ver o arquivo gerado no projeto “HelloWorldRIAServices” fazendo a apresentação de todos os arquivos do projeto, na opção “Project\Show all Files”.&lt;/P&gt;
&lt;P&gt;Adicionando essa classe, nosso projeto ganha algumas novas referências, como &lt;STRONG&gt;System.ComponentModel.DataAnnotations, System.Web.DomainServices, System.Web.DomainServices.Providers&lt;/STRONG&gt; e&lt;STRONG&gt; System.Web.Ria&lt;/STRONG&gt;.&lt;/P&gt;
&lt;P&gt;Também criamos os arquivos&lt;STRONG&gt; “HelloWorldDomainService.cs”&lt;/STRONG&gt; e &lt;STRONG&gt;“HelloWorldDomainService.metadata.cs”&lt;/STRONG&gt; no projeto do lado servidor automaticamente.&lt;/P&gt;
&lt;P&gt;Como passo seguinte, vamos adicionar uma referência para "&lt;STRONG&gt;System.Windows.Controls.Data.dll&lt;/STRONG&gt;" no projeto &lt;STRONG&gt;“HelloWorldRIAServices”&lt;/STRONG&gt;, lado do cliente, para a adição do objeto Data Grid Control, que fará a apresentação dos dados exportados pelo .NET RIA Services.&lt;/P&gt;
&lt;P&gt;Uma vez feita a referência, podemos aproveitar a página “&lt;STRONG&gt;HomePage.xaml&lt;/STRONG&gt;” do projeto cliente para adicionar o controle, veja:&lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.msdn.com/blogfiles/wcamb/WindowsLiveWriter/HelloWorldparao.NETRIAServices_105CF/image_28.png" mce_href="http://blogs.msdn.com/blogfiles/wcamb/WindowsLiveWriter/HelloWorldparao.NETRIAServices_105CF/image_28.png"&gt;&lt;IMG style="BORDER-RIGHT-WIDTH: 0px; WIDTH: 456px; DISPLAY: inline; BORDER-TOP-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; HEIGHT: 84px; BORDER-LEFT-WIDTH: 0px" title=image border=0 alt=image src="http://blogs.msdn.com/blogfiles/wcamb/WindowsLiveWriter/HelloWorldparao.NETRIAServices_105CF/image_thumb_13.png" width=509 height=117 mce_src="http://blogs.msdn.com/blogfiles/wcamb/WindowsLiveWriter/HelloWorldparao.NETRIAServices_105CF/image_thumb_13.png"&gt;&lt;/A&gt; &lt;/P&gt;
&lt;P&gt;Na sequência, adicionamos o DataGrid Control ao corpo da página “&lt;STRONG&gt;HomePage.xaml&lt;/STRONG&gt;”, abaixo:&lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.msdn.com/blogfiles/wcamb/WindowsLiveWriter/HelloWorldparao.NETRIAServices_105CF/image_30.png" mce_href="http://blogs.msdn.com/blogfiles/wcamb/WindowsLiveWriter/HelloWorldparao.NETRIAServices_105CF/image_30.png"&gt;&lt;IMG style="BORDER-RIGHT-WIDTH: 0px; WIDTH: 452px; DISPLAY: inline; BORDER-TOP-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; HEIGHT: 136px; BORDER-LEFT-WIDTH: 0px" title=image border=0 alt=image src="http://blogs.msdn.com/blogfiles/wcamb/WindowsLiveWriter/HelloWorldparao.NETRIAServices_105CF/image_thumb_14.png" width=498 height=170 mce_src="http://blogs.msdn.com/blogfiles/wcamb/WindowsLiveWriter/HelloWorldparao.NETRIAServices_105CF/image_thumb_14.png"&gt;&lt;/A&gt; &lt;/P&gt;
&lt;P&gt;Ainda na página “&lt;STRONG&gt;HomePage.xaml&lt;/STRONG&gt;”, vamos adicionar uma chamada para o evento &lt;STRONG&gt;Page_Loaded&lt;/STRONG&gt;, como vemos a seguir:&lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.msdn.com/blogfiles/wcamb/WindowsLiveWriter/HelloWorldparao.NETRIAServices_105CF/image_32.png" mce_href="http://blogs.msdn.com/blogfiles/wcamb/WindowsLiveWriter/HelloWorldparao.NETRIAServices_105CF/image_32.png"&gt;&lt;IMG style="BORDER-RIGHT-WIDTH: 0px; WIDTH: 456px; DISPLAY: inline; BORDER-TOP-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; HEIGHT: 64px; BORDER-LEFT-WIDTH: 0px" title=image border=0 alt=image src="http://blogs.msdn.com/blogfiles/wcamb/WindowsLiveWriter/HelloWorldparao.NETRIAServices_105CF/image_thumb_15.png" width=497 height=79 mce_src="http://blogs.msdn.com/blogfiles/wcamb/WindowsLiveWriter/HelloWorldparao.NETRIAServices_105CF/image_thumb_15.png"&gt;&lt;/A&gt; &lt;/P&gt;
&lt;P&gt;Antes de adicionar o evento &lt;STRONG&gt;Page_Loaded&lt;/STRONG&gt; no arquivo “&lt;STRONG&gt;HomePage.xaml.cs&lt;/STRONG&gt;”, devemos fazer a referência ao projeto Web, através da cláusula &lt;EM&gt;using&lt;/EM&gt;, a seguir:&lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.msdn.com/blogfiles/wcamb/WindowsLiveWriter/HelloWorldparao.NETRIAServices_105CF/image_36.png" mce_href="http://blogs.msdn.com/blogfiles/wcamb/WindowsLiveWriter/HelloWorldparao.NETRIAServices_105CF/image_36.png"&gt;&lt;IMG style="BORDER-RIGHT-WIDTH: 0px; DISPLAY: inline; BORDER-TOP-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px" title=image border=0 alt=image src="http://blogs.msdn.com/blogfiles/wcamb/WindowsLiveWriter/HelloWorldparao.NETRIAServices_105CF/image_thumb_17.png" width=342 height=26 mce_src="http://blogs.msdn.com/blogfiles/wcamb/WindowsLiveWriter/HelloWorldparao.NETRIAServices_105CF/image_thumb_17.png"&gt;&lt;/A&gt; &lt;/P&gt;
&lt;P&gt;Agora, podemos adicionar nosso evento &lt;STRONG&gt;Page_Loaded&lt;/STRONG&gt; no arquivo “&lt;STRONG&gt;HomePage.xaml.cs”&lt;/STRONG&gt;. &lt;/P&gt;
&lt;P&gt;Note que neste evento fazemos o uso do &lt;STRONG&gt;DomainService&lt;/STRONG&gt; exportado pelo .NET RIA Services, o que vai permitir que nosso projeto cliente possa manipular as entidades escolhidas para exportação na aplicação. &lt;/P&gt;
&lt;P&gt;Veja como ficou o arquivo “&lt;STRONG&gt;HomePage.xaml.cs”&lt;/STRONG&gt; depois dessas mudanças:&lt;/P&gt;
&lt;DIV style="BORDER-BOTTOM: silver 1px solid; TEXT-ALIGN: left; BORDER-LEFT: silver 1px solid; PADDING-BOTTOM: 4px; LINE-HEIGHT: 12pt; BACKGROUND-COLOR: #f4f4f4; MARGIN: 20px 0px 10px; PADDING-LEFT: 4px; WIDTH: 97.5%; PADDING-RIGHT: 4px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; MAX-HEIGHT: 200px; FONT-SIZE: 8pt; OVERFLOW: auto; BORDER-TOP: silver 1px solid; CURSOR: text; BORDER-RIGHT: silver 1px solid; PADDING-TOP: 4px" id=codeSnippetWrapper&gt;
&lt;DIV style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: #f4f4f4; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px" id=codeSnippet&gt;&lt;PRE style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: white; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"&gt;&lt;SPAN style="COLOR: #606060" id=lnum1&gt;   1:&lt;/SPAN&gt; &lt;SPAN style="COLOR: #0000ff"&gt;using&lt;/SPAN&gt; System;&lt;/PRE&gt;&lt;!--CRLF--&gt;&lt;PRE style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: #f4f4f4; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"&gt;&lt;SPAN style="COLOR: #606060" id=lnum2&gt;   2:&lt;/SPAN&gt; &lt;SPAN style="COLOR: #0000ff"&gt;using&lt;/SPAN&gt; System.Collections.Generic;&lt;/PRE&gt;&lt;!--CRLF--&gt;&lt;PRE style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: white; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"&gt;&lt;SPAN style="COLOR: #606060" id=lnum3&gt;   3:&lt;/SPAN&gt; &lt;SPAN style="COLOR: #0000ff"&gt;using&lt;/SPAN&gt; System.Linq;&lt;/PRE&gt;&lt;!--CRLF--&gt;&lt;PRE style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: #f4f4f4; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"&gt;&lt;SPAN style="COLOR: #606060" id=lnum4&gt;   4:&lt;/SPAN&gt; &lt;SPAN style="COLOR: #0000ff"&gt;using&lt;/SPAN&gt; System.Net;&lt;/PRE&gt;&lt;!--CRLF--&gt;&lt;PRE style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: white; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"&gt;&lt;SPAN style="COLOR: #606060" id=lnum5&gt;   5:&lt;/SPAN&gt; &lt;SPAN style="COLOR: #0000ff"&gt;using&lt;/SPAN&gt; System.Windows;&lt;/PRE&gt;&lt;!--CRLF--&gt;&lt;PRE style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: #f4f4f4; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"&gt;&lt;SPAN style="COLOR: #606060" id=lnum6&gt;   6:&lt;/SPAN&gt; &lt;SPAN style="COLOR: #0000ff"&gt;using&lt;/SPAN&gt; System.Windows.Controls;&lt;/PRE&gt;&lt;!--CRLF--&gt;&lt;PRE style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: white; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"&gt;&lt;SPAN style="COLOR: #606060" id=lnum7&gt;   7:&lt;/SPAN&gt; &lt;SPAN style="COLOR: #0000ff"&gt;using&lt;/SPAN&gt; System.Windows.Documents;&lt;/PRE&gt;&lt;!--CRLF--&gt;&lt;PRE style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: #f4f4f4; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"&gt;&lt;SPAN style="COLOR: #606060" id=lnum8&gt;   8:&lt;/SPAN&gt; &lt;SPAN style="COLOR: #0000ff"&gt;using&lt;/SPAN&gt; System.Windows.Input;&lt;/PRE&gt;&lt;!--CRLF--&gt;&lt;PRE style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: white; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"&gt;&lt;SPAN style="COLOR: #606060" id=lnum9&gt;   9:&lt;/SPAN&gt; &lt;SPAN style="COLOR: #0000ff"&gt;using&lt;/SPAN&gt; System.Windows.Media;&lt;/PRE&gt;&lt;!--CRLF--&gt;&lt;PRE style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: #f4f4f4; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"&gt;&lt;SPAN style="COLOR: #606060" id=lnum10&gt;  10:&lt;/SPAN&gt; &lt;SPAN style="COLOR: #0000ff"&gt;using&lt;/SPAN&gt; System.Windows.Media.Animation;&lt;/PRE&gt;&lt;!--CRLF--&gt;&lt;PRE style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: white; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"&gt;&lt;SPAN style="COLOR: #606060" id=lnum11&gt;  11:&lt;/SPAN&gt; &lt;SPAN style="COLOR: #0000ff"&gt;using&lt;/SPAN&gt; System.Windows.Shapes;&lt;/PRE&gt;&lt;!--CRLF--&gt;&lt;PRE style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: #f4f4f4; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"&gt;&lt;SPAN style="COLOR: #606060" id=lnum12&gt;  12:&lt;/SPAN&gt; &lt;SPAN style="COLOR: #0000ff"&gt;using&lt;/SPAN&gt; System.Windows.Navigation;&lt;/PRE&gt;&lt;!--CRLF--&gt;&lt;PRE style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: white; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"&gt;&lt;SPAN style="COLOR: #606060" id=lnum13&gt;  13:&lt;/SPAN&gt; &lt;SPAN style="COLOR: #0000ff"&gt;using&lt;/SPAN&gt; HelloWorldRIAServices.Web; &lt;SPAN style="COLOR: #008000"&gt;//Adicionado para referênciar o projeto server!&lt;/SPAN&gt;&lt;/PRE&gt;&lt;!--CRLF--&gt;&lt;PRE style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: #f4f4f4; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"&gt;&lt;SPAN style="COLOR: #606060" id=lnum14&gt;  14:&lt;/SPAN&gt;&amp;nbsp; &lt;/PRE&gt;&lt;!--CRLF--&gt;&lt;PRE style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: white; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"&gt;&lt;SPAN style="COLOR: #606060" id=lnum15&gt;  15:&lt;/SPAN&gt; &lt;SPAN style="COLOR: #0000ff"&gt;namespace&lt;/SPAN&gt; HelloWorldRIAServices&lt;/PRE&gt;&lt;!--CRLF--&gt;&lt;PRE style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: #f4f4f4; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"&gt;&lt;SPAN style="COLOR: #606060" id=lnum16&gt;  16:&lt;/SPAN&gt; {&lt;/PRE&gt;&lt;!--CRLF--&gt;&lt;PRE style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: white; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"&gt;&lt;SPAN style="COLOR: #606060" id=lnum17&gt;  17:&lt;/SPAN&gt;     &lt;SPAN style="COLOR: #0000ff"&gt;public&lt;/SPAN&gt; &lt;SPAN style="COLOR: #0000ff"&gt;partial&lt;/SPAN&gt; &lt;SPAN style="COLOR: #0000ff"&gt;class&lt;/SPAN&gt; HomePage : Page&lt;/PRE&gt;&lt;!--CRLF--&gt;&lt;PRE style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: #f4f4f4; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"&gt;&lt;SPAN style="COLOR: #606060" id=lnum18&gt;  18:&lt;/SPAN&gt;     {&lt;/PRE&gt;&lt;!--CRLF--&gt;&lt;PRE style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: white; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"&gt;&lt;SPAN style="COLOR: #606060" id=lnum19&gt;  19:&lt;/SPAN&gt;         &lt;SPAN style="COLOR: #0000ff"&gt;public&lt;/SPAN&gt; HomePage()&lt;/PRE&gt;&lt;!--CRLF--&gt;&lt;PRE style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: #f4f4f4; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"&gt;&lt;SPAN style="COLOR: #606060" id=lnum20&gt;  20:&lt;/SPAN&gt;         {&lt;/PRE&gt;&lt;!--CRLF--&gt;&lt;PRE style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: white; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"&gt;&lt;SPAN style="COLOR: #606060" id=lnum21&gt;  21:&lt;/SPAN&gt;             InitializeComponent();&lt;/PRE&gt;&lt;!--CRLF--&gt;&lt;PRE style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: #f4f4f4; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"&gt;&lt;SPAN style="COLOR: #606060" id=lnum22&gt;  22:&lt;/SPAN&gt;         }&lt;/PRE&gt;&lt;!--CRLF--&gt;&lt;PRE style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: white; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"&gt;&lt;SPAN style="COLOR: #606060" id=lnum23&gt;  23:&lt;/SPAN&gt;&amp;nbsp; &lt;/PRE&gt;&lt;!--CRLF--&gt;&lt;PRE style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: #f4f4f4; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"&gt;&lt;SPAN style="COLOR: #606060" id=lnum24&gt;  24:&lt;/SPAN&gt;         &lt;SPAN style="COLOR: #008000"&gt;// Executes when the user navigates to this page.&lt;/SPAN&gt;&lt;/PRE&gt;&lt;!--CRLF--&gt;&lt;PRE style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: white; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"&gt;&lt;SPAN style="COLOR: #606060" id=lnum25&gt;  25:&lt;/SPAN&gt;         &lt;SPAN style="COLOR: #0000ff"&gt;protected&lt;/SPAN&gt; &lt;SPAN style="COLOR: #0000ff"&gt;override&lt;/SPAN&gt; &lt;SPAN style="COLOR: #0000ff"&gt;void&lt;/SPAN&gt; OnNavigatedTo(NavigationEventArgs e){}&lt;/PRE&gt;&lt;!--CRLF--&gt;&lt;PRE style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: #f4f4f4; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"&gt;&lt;SPAN style="COLOR: #606060" id=lnum26&gt;  26:&lt;/SPAN&gt;&amp;nbsp; &lt;/PRE&gt;&lt;!--CRLF--&gt;&lt;PRE style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: white; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"&gt;&lt;SPAN style="COLOR: #606060" id=lnum27&gt;  27:&lt;/SPAN&gt;         &lt;SPAN style="COLOR: #0000ff"&gt;private&lt;/SPAN&gt; &lt;SPAN style="COLOR: #0000ff"&gt;void&lt;/SPAN&gt; Page_Loaded(&lt;SPAN style="COLOR: #0000ff"&gt;object&lt;/SPAN&gt; sender, RoutedEventArgs e)&lt;/PRE&gt;&lt;!--CRLF--&gt;&lt;PRE style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: #f4f4f4; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"&gt;&lt;SPAN style="COLOR: #606060" id=lnum28&gt;  28:&lt;/SPAN&gt;         {&lt;/PRE&gt;&lt;!--CRLF--&gt;&lt;PRE style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: white; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"&gt;&lt;SPAN style="COLOR: #606060" id=lnum29&gt;  29:&lt;/SPAN&gt;             HelloWorldDomainContext context = &lt;SPAN style="COLOR: #0000ff"&gt;new&lt;/SPAN&gt; HelloWorldDomainContext();&lt;/PRE&gt;&lt;!--CRLF--&gt;&lt;PRE style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: #f4f4f4; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"&gt;&lt;SPAN style="COLOR: #606060" id=lnum30&gt;  30:&lt;/SPAN&gt;             &lt;SPAN style="COLOR: #0000ff"&gt;this&lt;/SPAN&gt;.dataGrid.ItemsSource = context.Accounts;&lt;/PRE&gt;&lt;!--CRLF--&gt;&lt;PRE style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: white; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"&gt;&lt;SPAN style="COLOR: #606060" id=lnum31&gt;  31:&lt;/SPAN&gt;             context.LoadAccounts();&lt;/PRE&gt;&lt;!--CRLF--&gt;&lt;PRE style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: #f4f4f4; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"&gt;&lt;SPAN style="COLOR: #606060" id=lnum32&gt;  32:&lt;/SPAN&gt;         }&lt;/PRE&gt;&lt;!--CRLF--&gt;&lt;PRE style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: white; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"&gt;&lt;SPAN style="COLOR: #606060" id=lnum33&gt;  33:&lt;/SPAN&gt;     }&lt;/PRE&gt;&lt;!--CRLF--&gt;&lt;PRE style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: #f4f4f4; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"&gt;&lt;SPAN style="COLOR: #606060" id=lnum34&gt;  34:&lt;/SPAN&gt; }&lt;/PRE&gt;&lt;!--CRLF--&gt;&lt;/DIV&gt;&lt;/DIV&gt;
&lt;P&gt;Pronto! :)&lt;/P&gt;
&lt;P&gt;Compilando a solução, você irá exportar as entidades recebidas através do .NET RIA Services via o &lt;STRONG&gt;DataGrid Control&lt;/STRONG&gt;, que adicionamos na página “&lt;STRONG&gt;HomePage.xaml&lt;/STRONG&gt;” do projeto &lt;STRONG&gt;“HelloWorldRIAServices”&lt;/STRONG&gt;:&lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.msdn.com/blogfiles/wcamb/WindowsLiveWriter/HelloWorldparao.NETRIAServices_105CF/image_38.png" mce_href="http://blogs.msdn.com/blogfiles/wcamb/WindowsLiveWriter/HelloWorldparao.NETRIAServices_105CF/image_38.png"&gt;&lt;IMG style="BORDER-RIGHT-WIDTH: 0px; DISPLAY: inline; BORDER-TOP-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px" title=image border=0 alt=image src="http://blogs.msdn.com/blogfiles/wcamb/WindowsLiveWriter/HelloWorldparao.NETRIAServices_105CF/image_thumb_18.png" width=526 height=215 mce_src="http://blogs.msdn.com/blogfiles/wcamb/WindowsLiveWriter/HelloWorldparao.NETRIAServices_105CF/image_thumb_18.png"&gt;&lt;/A&gt; &lt;/P&gt;
&lt;P&gt;Lembrando, o produto ainda está em CTP e deve ganhar no futuro novas funcionalidades, assim como uma maior automação em alguns pontos do processo de exportação e referências de assemblies. Mas já é bastante promissor a possibilidade de construir aplicações RIA de uma forma tão rápida, suportando os novos recursos do Silverlight 3.0. &lt;/P&gt;
&lt;P&gt;Em posts futuros, vamos ver novos exemplos sobre o .NET RIA Services e seus recursos. Não deixe de fazer seus testes também!&lt;/P&gt;
&lt;P&gt;Por enquanto é só! Até o próximo post :)&lt;/P&gt;
&lt;P&gt;Waldemir.&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9802328" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/wcamb/archive/tags/Silverlight/default.aspx">Silverlight</category><category domain="http://blogs.msdn.com/wcamb/archive/tags/.NET+RIA+Services/default.aspx">.NET RIA Services</category></item><item><title>.NET RIA Services CTP Roadmap</title><link>http://blogs.msdn.com/wcamb/archive/2009/06/22/net-ria-services-roadmap.aspx</link><pubDate>Tue, 23 Jun 2009 03:17:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9798552</guid><dc:creator>wcamb</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/wcamb/comments/9798552.aspx</comments><wfw:commentRss>http://blogs.msdn.com/wcamb/commentrss.aspx?PostID=9798552</wfw:commentRss><wfw:comment>http://blogs.msdn.com/wcamb/rsscomments.aspx?PostID=9798552</wfw:comment><description>&lt;P&gt;Olá pessoal, tudo certo?&lt;/P&gt;
&lt;P&gt;Um produto que estou acompanhando de perto é o .NET RIA Services. Já falamos um pouco dele &lt;A href="http://blogs.msdn.com/wcamb/archive/2009/05/20/microsoft-net-ria-services-may-2009-preview.aspx" target=_blank mce_href="http://blogs.msdn.com/wcamb/archive/2009/05/20/microsoft-net-ria-services-may-2009-preview.aspx"&gt;aqui&lt;/A&gt; no blog.&lt;/P&gt;
&lt;P&gt;Em rápidas palavras, o . NET RIA Services é um framework que oferece um padrão para a construção de lógica de aplicação, funcionando como um middle-tier, controlando o acesso aos dados para consultas, alterações e operações diversas.&lt;/P&gt;
&lt;P&gt;Ele promete resolver alguns dos desafios que encontramos na construção de aplicações RIA, quando tratamos os dados entre a parte cliente e a parte servidor. Aspectos como ordenação, paginação, filtro, validação, autorização, batching e sincronização off-line são comuns nesse tipo de aplicação, que envolve uma relação de trust entre a parte cliente e o mid-tier server em muitos casos.&lt;/P&gt;
&lt;P&gt;Nesse contexto, o .NET RIA Services facilita a manipulação dos dados da aplicação numa abordagem fim-a-fim, criando uma camada intermediária entre apresentação e o acesso a dados, fazendo o mapeamento da lógica de negócio para sua aplicação.&lt;/P&gt;
&lt;P&gt;Recentemente, foi publicado o roadmap previsto para o .NET RIA Services, no link abaixo:&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;.NET RIA Services V1 CTPs: current thinking &lt;BR&gt;&lt;/STRONG&gt;Ref.: &lt;A href="http://silverlight.net/forums/t/101160.aspx" rel=nofollow target=_blank mce_href="http://silverlight.net/forums/t/101160.aspx"&gt;http://silverlight.net/forums/t/101160.aspx&lt;/A&gt; &lt;/P&gt;
&lt;P&gt;Vale conferir!!! Nos próximos, posts vamos ver alguns exemplos do .NET RIA Services em ação. Para quem ficou interessado, veja alguns artigos bem interessantes, que estou usando para estudo:&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;.NET RIA Services: From Vision to Architecture &lt;BR&gt;&lt;/STRONG&gt;Ref.: &lt;A href="http://www.nikhilk.net/NET-RIA-Services-Vision-Architecture.aspx" rel=nofollow target=_blank mce_href="http://www.nikhilk.net/NET-RIA-Services-Vision-Architecture.aspx"&gt;http://www.nikhilk.net/NET-RIA-Services-Vision-Architecture.aspx&lt;/A&gt; &lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;View Model Pattern with .NET RIA Services&lt;/STRONG&gt; &lt;BR&gt;Ref.: &lt;A href="http://www.nikhilk.net/NET-RIA-Services-ViewModel-Pattern.aspx" rel=nofollow target=_blank mce_href="http://www.nikhilk.net/NET-RIA-Services-ViewModel-Pattern.aspx"&gt;http://www.nikhilk.net/NET-RIA-Services-ViewModel-Pattern.aspx&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;ViewModel + .NET RIA Services Part 2: Testability, Server Mocking and Dependencies&lt;/STRONG&gt; &lt;BR&gt;Ref.: &lt;A href="http://www.nikhilk.net/NET-RIA-Services-ViewModel-Pattern-2.aspx" rel=nofollow target=_blank mce_href="http://www.nikhilk.net/NET-RIA-Services-ViewModel-Pattern-2.aspx"&gt;http://www.nikhilk.net/NET-RIA-Services-ViewModel-Pattern-2.aspx&lt;/A&gt; &lt;/P&gt;
&lt;P&gt;O pacote Preview de Maio 2009 está aqui:&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Microsoft .NET RIA Services May 2009 Preview&lt;/STRONG&gt; &lt;BR&gt;Ref.: &lt;A title=http://www.microsoft.com/downloads/details.aspx?FamilyID=76bb3a07-3846-4564-b0c3-27972bcaabce&amp;amp;displaylang=en href="http://www.microsoft.com/downloads/details.aspx?FamilyID=76bb3a07-3846-4564-b0c3-27972bcaabce&amp;amp;displaylang=en" rel=nofollow target=_blank mce_href="http://www.microsoft.com/downloads/details.aspx?FamilyID=76bb3a07-3846-4564-b0c3-27972bcaabce&amp;amp;displaylang=en"&gt;http://www.microsoft.com/downloads/details.aspx?FamilyID=76bb3a07-3846-4564-b0c3-27972bcaabce&amp;amp;displaylang=en&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;E você vai precisar do SL3 também instalado, abaixo:&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Microsoft® Silverlight™ 3 SDK Beta 1&lt;/STRONG&gt; &lt;BR&gt;Ref.: &lt;A href="http://www.microsoft.com/downloads/details.aspx?familyid=D09B6ECF-9A45-4D99-B752-2A330A937BC4&amp;amp;displaylang=en" rel=nofollow target=_blank mce_href="http://www.microsoft.com/downloads/details.aspx?familyid=D09B6ECF-9A45-4D99-B752-2A330A937BC4&amp;amp;displaylang=en"&gt;http://www.microsoft.com/downloads/details.aspx?familyid=D09B6ECF-9A45-4D99-B752-2A330A937BC4&amp;amp;displaylang=en&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Microsoft® Silverlight™ 3 Tools Beta 1 for Visual Studio 2008 SP1&lt;/STRONG&gt; &lt;BR&gt;Ref.: &lt;A href="http://www.microsoft.com/downloads/details.aspx?familyid=11DC7151-DBD6-4E39-878F-5081863CBB5D&amp;amp;displaylang=en" rel=nofollow target=_blank mce_href="http://www.microsoft.com/downloads/details.aspx?familyid=11DC7151-DBD6-4E39-878F-5081863CBB5D&amp;amp;displaylang=en"&gt;http://www.microsoft.com/downloads/details.aspx?familyid=11DC7151-DBD6-4E39-878F-5081863CBB5D&amp;amp;displaylang=en&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;Por enquanto é só! Até o próximo post :)&lt;/P&gt;
&lt;P&gt;Waldemir.&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9798552" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/wcamb/archive/tags/Silverlight/default.aspx">Silverlight</category><category domain="http://blogs.msdn.com/wcamb/archive/tags/.NET+RIA+Services/default.aspx">.NET RIA Services</category></item><item><title>Microsoft .NET RIA Services May 2009 Preview</title><link>http://blogs.msdn.com/wcamb/archive/2009/05/20/microsoft-net-ria-services-may-2009-preview.aspx</link><pubDate>Thu, 21 May 2009 03:31:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9633100</guid><dc:creator>wcamb</dc:creator><slash:comments>2</slash:comments><comments>http://blogs.msdn.com/wcamb/comments/9633100.aspx</comments><wfw:commentRss>http://blogs.msdn.com/wcamb/commentrss.aspx?PostID=9633100</wfw:commentRss><wfw:comment>http://blogs.msdn.com/wcamb/rsscomments.aspx?PostID=9633100</wfw:comment><description>&lt;P&gt;Olá pessoal, tudo certo?&lt;/P&gt;
&lt;P&gt;Um assunto emergente e muito importante é o &lt;STRONG&gt;.NET RIA Services&lt;/STRONG&gt;, anunciado durante o último &lt;A href="http://blogs.msdn.com/wcamb/archive/tags/MIX09/default.aspx" target=_blank mce_href="http://blogs.msdn.com/wcamb/archive/tags/MIX09/default.aspx"&gt;MIX09&lt;/A&gt;. Depois do primeiro preview em Março, tivemos uma nova atualização do pacote agora em Maio de 2009.&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Onde se aplica?&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;De modo geral, o desenvolvimento de uma arquitetura em N camadas pode ser bem difícil e envolve uma série de desafios e dificuldades para o correto mapeamento de seus componentes. Por exemplo, como garantir de forma padronizada questões como paginação, transferência de dados entre as camadas de negócio e apresentação, implementação de recursos básicos do &lt;EM&gt;CRUD – Create, Read, Update&lt;/EM&gt; e &lt;EM&gt;Delete&lt;/EM&gt;, etc.&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;O que o .NET RIA Services oferece?&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;O &lt;EM&gt;.&lt;/EM&gt;NET RIA Services tem por objetivo aumentar a produtividade de soluções N camadas com arquiteturas &lt;EM&gt;RIA – Rich Internet Application&lt;/EM&gt;, resolvendo alguns aspectos comuns de integração entre camadas. Pense na facilidade de desenvolvimento que temos hoje para aplicações ASP.NET e o &lt;EM&gt;RAD – Rapid Application Development&lt;/EM&gt;. O .NET RIA Services pretende oferecer essa mesma produtividade para o contexto de aplicações RIA com N camadas.&lt;/P&gt;
&lt;P&gt;Assim, um desenho que aparece na documentação do .NET RIA Services ilustra bem essa integração entre camadas de aplicação e lógica de negócio, veja:&lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.msdn.com/blogfiles/wcamb/WindowsLiveWriter/Microsoft.NETRIAServicesMay2009Preview_EA24/image_2.png" mce_href="http://blogs.msdn.com/blogfiles/wcamb/WindowsLiveWriter/Microsoft.NETRIAServicesMay2009Preview_EA24/image_2.png"&gt;&lt;IMG style="BORDER-RIGHT-WIDTH: 0px; DISPLAY: inline; BORDER-TOP-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px" title=",NET RIA SERVICES" border=0 alt=",NET RIA SERVICES" src="http://blogs.msdn.com/blogfiles/wcamb/WindowsLiveWriter/Microsoft.NETRIAServicesMay2009Preview_EA24/image_thumb.png" width=513 height=276 mce_src="http://blogs.msdn.com/blogfiles/wcamb/WindowsLiveWriter/Microsoft.NETRIAServicesMay2009Preview_EA24/image_thumb.png"&gt;&lt;/A&gt; &lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Como preparar o ambiente para o .NET RIA Services?&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;Vamos preparar nosso ambiente de desenvolvimento para testes do .NET RIA Services. O pacote ainda está em CTP e a última atualização foi em maio:&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Microsoft .NET RIA Services May 2009 Preview&lt;/STRONG&gt; &lt;BR&gt;Ref.: &lt;A href="http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;amp;FamilyID=76bb3a07-3846-4564-b0c3-27972bcaabce#filelist" mce_href="http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;amp;FamilyID=76bb3a07-3846-4564-b0c3-27972bcaabce#filelist"&gt;http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;amp;FamilyID=76bb3a07-3846-4564-b0c3-27972bcaabce#filelist&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;Para a instalação do pacote RIA Services, você vai precisar do &lt;STRONG&gt;Silverlight 3 Beta 1&lt;/STRONG&gt; e os componentes:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;&lt;FONT color=#000080&gt;Microsoft Silverlight 3 Beta SDK&lt;/FONT&gt; &lt;/LI&gt;
&lt;LI&gt;&lt;FONT color=#000080&gt;Microsoft Silverlight 3 Tools&lt;/FONT&gt; &lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;Comece instalando o SDK Beta 1, a seguir:&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Microsoft® Silverlight™ 3 SDK Beta 1 &lt;BR&gt;&lt;/STRONG&gt;Ref.: &lt;A href="http://www.microsoft.com/downloads/details.aspx?familyid=D09B6ECF-9A45-4D99-B752-2A330A937BC4&amp;amp;displaylang=en" mce_href="http://www.microsoft.com/downloads/details.aspx?familyid=D09B6ECF-9A45-4D99-B752-2A330A937BC4&amp;amp;displaylang=en"&gt;http://www.microsoft.com/downloads/details.aspx?familyid=D09B6ECF-9A45-4D99-B752-2A330A937BC4&amp;amp;displaylang=en&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;Após instalar o SL3 SDK Beta 1, reinicie sua máquina para seguir instalando o SL3 Tools Beta 1, a seguir:&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Microsoft® Silverlight™ 3 Tools Beta 1 for Visual Studio 2008 SP1 &lt;BR&gt;&lt;/STRONG&gt;Ref.: &lt;A href="http://www.microsoft.com/downloads/details.aspx?familyid=11DC7151-DBD6-4E39-878F-5081863CBB5D&amp;amp;displaylang=en" mce_href="http://www.microsoft.com/downloads/details.aspx?familyid=11DC7151-DBD6-4E39-878F-5081863CBB5D&amp;amp;displaylang=en"&gt;http://www.microsoft.com/downloads/details.aspx?familyid=11DC7151-DBD6-4E39-878F-5081863CBB5D&amp;amp;displaylang=en&lt;/A&gt; &lt;/P&gt;
&lt;P&gt;Finalmente, instale o .NET RIA Services, através do pacote&lt;STRONG&gt; “RiaServices.msi”&lt;/STRONG&gt;. &lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;O que o pacote .NET RIA Services ofecere?&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;Com a instalação do pacote CTP de Maio, seu Visual Studio 2008 irá disponibilizar um novo template de aplicação na pasta Siverlight, como vemos a seguir:&lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.msdn.com/blogfiles/wcamb/WindowsLiveWriter/Microsoft.NETRIAServicesMay2009Preview_EA24/image_6.png" mce_href="http://blogs.msdn.com/blogfiles/wcamb/WindowsLiveWriter/Microsoft.NETRIAServicesMay2009Preview_EA24/image_6.png"&gt;&lt;IMG style="BORDER-RIGHT-WIDTH: 0px; DISPLAY: inline; BORDER-TOP-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px" title="Template do ,NET RIA SERVICES" border=0 alt="Template do ,NET RIA SERVICES" src="http://blogs.msdn.com/blogfiles/wcamb/WindowsLiveWriter/Microsoft.NETRIAServicesMay2009Preview_EA24/image_thumb_2.png" width=484 height=373 mce_src="http://blogs.msdn.com/blogfiles/wcamb/WindowsLiveWriter/Microsoft.NETRIAServicesMay2009Preview_EA24/image_thumb_2.png"&gt;&lt;/A&gt; &lt;/P&gt;
&lt;P&gt;Escolhendo esse template, geramos uma solução contendo dois projetos principais: um projeto de aplicação Web (&lt;STRONG&gt;BusinessApplication1.Web&lt;/STRONG&gt;), para interface com o usuário e um projeto de lógica de negócio (&lt;STRONG&gt;BusinessApplication1&lt;/STRONG&gt;). Veja a seguir:&lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.msdn.com/blogfiles/wcamb/WindowsLiveWriter/Microsoft.NETRIAServicesMay2009Preview_EA24/image_10.png" mce_href="http://blogs.msdn.com/blogfiles/wcamb/WindowsLiveWriter/Microsoft.NETRIAServicesMay2009Preview_EA24/image_10.png"&gt;&lt;IMG style="BORDER-RIGHT-WIDTH: 0px; DISPLAY: inline; BORDER-TOP-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px" title="Projeto ,NET RIA SERVICES" border=0 alt="Projeto ,NET RIA SERVICES" src="http://blogs.msdn.com/blogfiles/wcamb/WindowsLiveWriter/Microsoft.NETRIAServicesMay2009Preview_EA24/image_thumb_4.png" width=243 height=449 mce_src="http://blogs.msdn.com/blogfiles/wcamb/WindowsLiveWriter/Microsoft.NETRIAServicesMay2009Preview_EA24/image_thumb_4.png"&gt;&lt;/A&gt; &lt;/P&gt;
&lt;P&gt;A solução oferecida pelo template já implementa um exemplo de aplicação Web pronta para ser estendida com nossos serviços e funcionalidades. Executando o projeto como está, a aplicação se parece como no desenho abaixo:&lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.msdn.com/blogfiles/wcamb/WindowsLiveWriter/Microsoft.NETRIAServicesMay2009Preview_EA24/image_8.png" mce_href="http://blogs.msdn.com/blogfiles/wcamb/WindowsLiveWriter/Microsoft.NETRIAServicesMay2009Preview_EA24/image_8.png"&gt;&lt;IMG style="BORDER-RIGHT-WIDTH: 0px; DISPLAY: inline; BORDER-TOP-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px" title="Interface ,NET RIA SERVICES" border=0 alt="Interface ,NET RIA SERVICES" src="http://blogs.msdn.com/blogfiles/wcamb/WindowsLiveWriter/Microsoft.NETRIAServicesMay2009Preview_EA24/image_thumb_3.png" width=327 height=267 mce_src="http://blogs.msdn.com/blogfiles/wcamb/WindowsLiveWriter/Microsoft.NETRIAServicesMay2009Preview_EA24/image_thumb_3.png"&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;Veja que a interface irá aproveitar os recursos do &lt;STRONG&gt;Silverlight 3 Beta 1&lt;/STRONG&gt;, por isso aguarde algumas boas surpresas em recursos e funcionalidades.&lt;/P&gt;
&lt;P&gt;Um ponto bem interessante que foi dica do &lt;A href="http://blogs.msdn.com/otavio/archive/2009/04/05/ria-services-um-elo-perdido.aspx" rel=nofollow target=_blank mce_href="http://blogs.msdn.com/otavio/archive/2009/04/05/ria-services-um-elo-perdido.aspx"&gt;Otávio&lt;/A&gt; é a documentação de Maio do CTP. No final do documento “&lt;STRONG&gt;RIAServicesOverviewforMay2009.docx&lt;/STRONG&gt;”, disponível no link principal do RIA Services, temos um tutorial que estende as funcionalidades do template acima, permitindo um bom estudo sobre os benefícios e recursos oferecidos pelo pacote RIA Services.&lt;/P&gt;
&lt;P&gt;Assim, esse post foi só para iniciá-lo no assunto. Em breve, veremos um pouco mais sobre o &lt;STRONG&gt;RIA Services&lt;/STRONG&gt; e como poderemos utilizá-lo no futuro em nossas soluções. &lt;/P&gt;
&lt;P&gt;Por enquanto é só! Até o próximo post :)&lt;/P&gt;
&lt;P&gt;Waldemir.&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9633100" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/wcamb/archive/tags/Arquitetura+de+Solu_26002300_231_3B0026002300_245_3B00_es/default.aspx">Arquitetura de Solu&amp;#231;&amp;#245;es</category><category domain="http://blogs.msdn.com/wcamb/archive/tags/Silverlight/default.aspx">Silverlight</category><category domain="http://blogs.msdn.com/wcamb/archive/tags/.NET+RIA+Services/default.aspx">.NET RIA Services</category></item><item><title>Microsoft Web Platform Installer 1.0 e 2.0 Beta</title><link>http://blogs.msdn.com/wcamb/archive/2009/04/30/microsoft-web-platform-installer-1-0-e-2-0-beta.aspx</link><pubDate>Thu, 30 Apr 2009 21:50:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9581012</guid><dc:creator>wcamb</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.msdn.com/wcamb/comments/9581012.aspx</comments><wfw:commentRss>http://blogs.msdn.com/wcamb/commentrss.aspx?PostID=9581012</wfw:commentRss><wfw:comment>http://blogs.msdn.com/wcamb/rsscomments.aspx?PostID=9581012</wfw:comment><description>&lt;P&gt;Olá pessoal, tudo certo?&lt;/P&gt;
&lt;P&gt;Alguns posts atrás falamos de pacotes e extensões para a construção de aplicações Web e Silverlight, com excelentes recursos gráficos, como o Silverlight Toolkit. Veja &lt;A href="http://blogs.msdn.com/wcamb/archive/2009/03/27/windows-web-app-alguns-recursos-para-wpf-e-silverlight.aspx" target=_blank rel=nofollow mce_href="http://blogs.msdn.com/wcamb/archive/2009/03/27/windows-web-app-alguns-recursos-para-wpf-e-silverlight.aspx"&gt;aqui&lt;/A&gt;!&lt;/P&gt;
&lt;P&gt;Bom, a Microsoft lançou recentemente uma ferramenta bem interessante:&lt;/P&gt;
&lt;P&gt;&lt;A href="http://www.microsoft.com/web/downloads/platform.aspx" target=_blank rel=nofollow mce_href="http://www.microsoft.com/web/downloads/platform.aspx"&gt;&lt;IMG title=image style="BORDER-RIGHT: 0px; BORDER-TOP: 0px; DISPLAY: inline; BORDER-LEFT: 0px; BORDER-BOTTOM: 0px" height=196 alt=image src="http://blogs.msdn.com/blogfiles/wcamb/WindowsLiveWriter/MicrosoftWebPlatformInstaller1.0e2.0Beta_DDCF/image_5.png" width=540 border=0 mce_src="http://blogs.msdn.com/blogfiles/wcamb/WindowsLiveWriter/MicrosoftWebPlatformInstaller1.0e2.0Beta_DDCF/image_5.png"&gt;&lt;/A&gt; &lt;/P&gt;
&lt;P&gt;Ref.: &lt;A title=http://www.microsoft.com/web/downloads/platform.aspx href="http://www.microsoft.com/web/downloads/platform.aspx" target=_blank rel=nofollow mce_href="http://www.microsoft.com/web/downloads/platform.aspx"&gt;http://www.microsoft.com/web/downloads/platform.aspx&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;Esse pacote oferece um conjunto de recursos e ferramentas integradas prontas para o trabalho, como o &lt;EM&gt;.NET Framework&lt;/EM&gt;, o &lt;EM&gt;IIS Extensions&lt;/EM&gt;, &lt;EM&gt;SQL Server 2008 Express Edition&lt;/EM&gt; e &lt;EM&gt;Visual Web Developer Express&lt;/EM&gt;. Na versão 2.0 do pacote (ainda Beta), temos também outros adicionais como o &lt;EM&gt;Popular Web Apps&lt;/EM&gt; e o &lt;EM&gt;Extra Goodies&lt;/EM&gt;, oferecendo uma Web API de PHP para Windows. &lt;/P&gt;
&lt;P&gt;Ou seja, para quem está avaliando soluções na Web ou deseja experimentar algumas alternativas na plataforma, é uma boa dica de pacote rápido de instalação, com tudo incluso. Não deixe de conferir também as demais novidades do restante do portal:&lt;/P&gt;
&lt;P&gt;Ref.: &lt;A title=http://www.microsoft.com/web/default.aspx href="http://www.microsoft.com/web/default.aspx" target=_blank rel=nofollow mce_href="http://www.microsoft.com/web/default.aspx"&gt;http://www.microsoft.com/web/default.aspx&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;Por enquanto é só! Bom feriado e até o próximo post :) &lt;/P&gt;
&lt;P&gt;Waldemir.&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9581012" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/wcamb/archive/tags/Web+2.0/default.aspx">Web 2.0</category><category domain="http://blogs.msdn.com/wcamb/archive/tags/Silverlight/default.aspx">Silverlight</category></item><item><title>Microsoft Local Impact Map : Unlimited Potential</title><link>http://blogs.msdn.com/wcamb/archive/2009/04/29/microsoft-local-impact-map-unlimited-potential.aspx</link><pubDate>Wed, 29 Apr 2009 20:52:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9576167</guid><dc:creator>wcamb</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/wcamb/comments/9576167.aspx</comments><wfw:commentRss>http://blogs.msdn.com/wcamb/commentrss.aspx?PostID=9576167</wfw:commentRss><wfw:comment>http://blogs.msdn.com/wcamb/rsscomments.aspx?PostID=9576167</wfw:comment><description>&lt;P&gt;Olá pessoal, tudo certo?&lt;/P&gt;
&lt;P&gt;Não poderia deixar de compartilhar com vocês o link abaixo, que apresenta um mapa com as principais ações sociais da Microsoft pelo mundo, relacionadas com o programa &lt;A href="http://www.microsoft.com/unlimitedpotential/default.mspx" target=_blank rel=nofollow mce_href="http://www.microsoft.com/unlimitedpotential/default.mspx"&gt;Unlimited Potential&lt;/A&gt;. Além da bela solução em Siverlight :) confira alguns vídeos, histórias e informações sobre programas e países ali colocados, realmente vale a pena:&lt;/P&gt;
&lt;P&gt;&lt;A href="http://www.microsoft.com/unlimitedpotential/default.mspx" target=_blank rel=nofollow mce_href="http://www.microsoft.com/unlimitedpotential/default.mspx"&gt;&lt;IMG title=image style="BORDER-TOP-WIDTH: 0px; DISPLAY: inline; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; MARGIN-LEFT: 0px; MARGIN-RIGHT: 0px; BORDER-RIGHT-WIDTH: 0px" height=96 alt=image src="http://blogs.msdn.com/blogfiles/wcamb/WindowsLiveWriter/MicrosoftLocalImpactMap_11C4A/image_6.png" width=225 align=right border=0 mce_src="http://blogs.msdn.com/blogfiles/wcamb/WindowsLiveWriter/MicrosoftLocalImpactMap_11C4A/image_6.png"&gt;&lt;/A&gt;&lt;A href="http://www.microsoft.com/About/CorporateCitizenship/map/app/" target=_blank rel=nofollow&gt;&lt;IMG title=image style="BORDER-TOP-WIDTH: 0px; DISPLAY: inline; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-RIGHT-WIDTH: 0px" height=154 alt=image src="http://blogs.msdn.com/blogfiles/wcamb/WindowsLiveWriter/MicrosoftLocalImpactMap_11C4A/image_5.png" width=244 border=0 mce_src="http://blogs.msdn.com/blogfiles/wcamb/WindowsLiveWriter/MicrosoftLocalImpactMap_11C4A/image_5.png"&gt;&lt;/A&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Microsoft Local Impact Map &lt;BR&gt;&lt;/STRONG&gt;Ref.: &lt;A title=http://www.microsoft.com/About/CorporateCitizenship/map/app/ href="http://www.microsoft.com/About/CorporateCitizenship/map/app/" target=_blank rel=nofollow mce_href="http://www.microsoft.com/About/CorporateCitizenship/map/app/"&gt;http://www.microsoft.com/About/CorporateCitizenship/map/app/&lt;/A&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Por enquanto é só! Até o próximo post :)&lt;/P&gt;
&lt;P&gt;Waldemir.&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9576167" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/wcamb/archive/tags/Silverlight/default.aspx">Silverlight</category><category domain="http://blogs.msdn.com/wcamb/archive/tags/Leitura+Recomendada/default.aspx">Leitura Recomendada</category></item><item><title>Windows Web App : Alguns recursos para WPF e Silverlight</title><link>http://blogs.msdn.com/wcamb/archive/2009/03/27/windows-web-app-alguns-recursos-para-wpf-e-silverlight.aspx</link><pubDate>Fri, 27 Mar 2009 22:02:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9514780</guid><dc:creator>wcamb</dc:creator><slash:comments>3</slash:comments><comments>http://blogs.msdn.com/wcamb/comments/9514780.aspx</comments><wfw:commentRss>http://blogs.msdn.com/wcamb/commentrss.aspx?PostID=9514780</wfw:commentRss><wfw:comment>http://blogs.msdn.com/wcamb/rsscomments.aspx?PostID=9514780</wfw:comment><description>&lt;P&gt;Olá pessoal, tudo certo?&lt;/P&gt;
&lt;P&gt;Ainda na onda sobre &lt;STRONG&gt;aplicações Web&lt;/STRONG&gt; e &lt;STRONG&gt;Silverlight&lt;/STRONG&gt;, gostaria de apontar alguns recursos interessantes que tenho visto esses dias sobre interfaces ricas para a Web 2.0. Atendendo a pedidos de alguns colegas (certo Flávio?), vamos lá:&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;1) Microsoft Silverlight Toolkit&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.msdn.com/blogfiles/wcamb/WindowsLiveWriter/WindowsWebAppAlgunsrecursosparaWPFeSilve_9522/image_18.png" mce_href="http://blogs.msdn.com/blogfiles/wcamb/WindowsLiveWriter/WindowsWebAppAlgunsrecursosparaWPFeSilve_9522/image_18.png"&gt;&lt;IMG title="Microsoft Silverlight Toolkit" style="BORDER-RIGHT: 0px; BORDER-TOP: 0px; DISPLAY: inline; BORDER-LEFT: 0px; BORDER-BOTTOM: 0px" height=135 alt="Microsoft Silverlight Toolkit" src="http://blogs.msdn.com/blogfiles/wcamb/WindowsLiveWriter/WindowsWebAppAlgunsrecursosparaWPFeSilve_9522/image_thumb_8.png" width=244 border=0 mce_src="http://blogs.msdn.com/blogfiles/wcamb/WindowsLiveWriter/WindowsWebAppAlgunsrecursosparaWPFeSilve_9522/image_thumb_8.png"&gt;&lt;/A&gt; &lt;A href="http://blogs.msdn.com/blogfiles/wcamb/WindowsLiveWriter/WindowsWebAppAlgunsrecursosparaWPFeSilve_9522/image_16.png" mce_href="http://blogs.msdn.com/blogfiles/wcamb/WindowsLiveWriter/WindowsWebAppAlgunsrecursosparaWPFeSilve_9522/image_16.png"&gt;&lt;IMG title="Microsoft Silverlight Toolkit Logo" style="BORDER-RIGHT: 0px; BORDER-TOP: 0px; DISPLAY: inline; BORDER-LEFT: 0px; BORDER-BOTTOM: 0px" height=68 alt="Microsoft Silverlight Toolkit Logo" src="http://blogs.msdn.com/blogfiles/wcamb/WindowsLiveWriter/WindowsWebAppAlgunsrecursosparaWPFeSilve_9522/image_thumb_7.png" width=244 border=0 mce_src="http://blogs.msdn.com/blogfiles/wcamb/WindowsLiveWriter/WindowsWebAppAlgunsrecursosparaWPFeSilve_9522/image_thumb_7.png"&gt;&lt;/A&gt; &lt;/P&gt;
&lt;P&gt;Ref.: &lt;A title=http://www.codeplex.com/Silverlight href="http://www.codeplex.com/Silverlight" target=_blank rel=nofollow mce_href="http://www.codeplex.com/Silverlight"&gt;http://www.codeplex.com/Silverlight&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;COMENTÁRIOS:&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;Sem comentário!! :) Poderia até explodir alguns rojões nesse ponto do post :) (ok, menos!) É impressionante o nível da interface gerada pelos controles agora disponíveis com o &lt;STRONG&gt;Microsoft Silverlight Toolkit&lt;/STRONG&gt;. Vou apenas citá-lo aqui no post mas com certeza, merece um novo post especial só para ele. Aguardem!!! &lt;/P&gt;
&lt;P&gt;Entre os componentes disponíveis no Silverlight Toolkit você tem Calendar, DatePicker, DockPanel, ViewBox, uma série de gráficos de barra, Pie, Line, além de controles para entrada de dados, visualização de dados, entre outros. Para todos eles, uma grande riqueza gráfica, que com certeza irá atender as necessidades das interfaces RIA de hoje em dia. Não deixe de conferi!&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;2) RadControls for Microsoft Silverlight&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.msdn.com/blogfiles/wcamb/WindowsLiveWriter/WindowsWebAppAlgunsrecursosparaWPFeSilve_9522/image_4.png" mce_href="http://blogs.msdn.com/blogfiles/wcamb/WindowsLiveWriter/WindowsWebAppAlgunsrecursosparaWPFeSilve_9522/image_4.png"&gt;&lt;IMG title=RadControls style="BORDER-RIGHT: 0px; BORDER-TOP: 0px; DISPLAY: inline; BORDER-LEFT: 0px; BORDER-BOTTOM: 0px" height=192 alt=RadControls src="http://blogs.msdn.com/blogfiles/wcamb/WindowsLiveWriter/WindowsWebAppAlgunsrecursosparaWPFeSilve_9522/image_thumb_1.png" width=244 border=0 mce_src="http://blogs.msdn.com/blogfiles/wcamb/WindowsLiveWriter/WindowsWebAppAlgunsrecursosparaWPFeSilve_9522/image_thumb_1.png"&gt;&lt;/A&gt;&amp;nbsp;&lt;A href="http://blogs.msdn.com/blogfiles/wcamb/WindowsLiveWriter/WindowsWebAppAlgunsrecursosparaWPFeSilve_9522/image_2.png" mce_href="http://blogs.msdn.com/blogfiles/wcamb/WindowsLiveWriter/WindowsWebAppAlgunsrecursosparaWPFeSilve_9522/image_2.png"&gt;&lt;IMG title=RadControlsLogo style="BORDER-RIGHT: 0px; BORDER-TOP: 0px; DISPLAY: inline; BORDER-LEFT: 0px; BORDER-BOTTOM: 0px" height=62 alt=RadControlsLogo src="http://blogs.msdn.com/blogfiles/wcamb/WindowsLiveWriter/WindowsWebAppAlgunsrecursosparaWPFeSilve_9522/image_thumb.png" width=244 border=0 mce_src="http://blogs.msdn.com/blogfiles/wcamb/WindowsLiveWriter/WindowsWebAppAlgunsrecursosparaWPFeSilve_9522/image_thumb.png"&gt;&lt;/A&gt; &lt;/P&gt;
&lt;P&gt;Ref.: &lt;A title=http://demos.telerik.com/silverlight/default.aspx href="http://demos.telerik.com/silverlight/default.aspx" target=_blank rel=nofollow mce_href="http://demos.telerik.com/silverlight/default.aspx"&gt;http://demos.telerik.com/silverlight/default.aspx&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;COMENTÁRIOS:&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;O &lt;STRONG&gt;RadControls for Microsoft Silverlight&lt;/STRONG&gt; é um pacote interessante, que oferece recursos como gráficos animados, medidores, filtros e grids de dados, componentes para dashboards e uma série de controles de tela para Silverlight e WPF. É um exemplo de pacote comercial que amplia os recursos do .NET 3.5 SP1. &lt;/P&gt;
&lt;P&gt;O pacote trial também está disponível e serve de inspiração para quem estiver partindo para suas próprias criações.&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;3) Microsoft Health Common User Interface&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.msdn.com/blogfiles/wcamb/WindowsLiveWriter/WindowsWebAppAlgunsrecursosparaWPFeSilve_9522/image_8.png" mce_href="http://blogs.msdn.com/blogfiles/wcamb/WindowsLiveWriter/WindowsWebAppAlgunsrecursosparaWPFeSilve_9522/image_8.png"&gt;&lt;IMG title="Microsoft Health Common User Interface" style="BORDER-RIGHT: 0px; BORDER-TOP: 0px; DISPLAY: inline; BORDER-LEFT: 0px; BORDER-BOTTOM: 0px" height=184 alt="Microsoft Health Common User Interface" src="http://blogs.msdn.com/blogfiles/wcamb/WindowsLiveWriter/WindowsWebAppAlgunsrecursosparaWPFeSilve_9522/image_thumb_3.png" width=244 border=0 mce_src="http://blogs.msdn.com/blogfiles/wcamb/WindowsLiveWriter/WindowsWebAppAlgunsrecursosparaWPFeSilve_9522/image_thumb_3.png"&gt;&lt;/A&gt; &lt;A href="http://blogs.msdn.com/blogfiles/wcamb/WindowsLiveWriter/WindowsWebAppAlgunsrecursosparaWPFeSilve_9522/image_6.png" mce_href="http://blogs.msdn.com/blogfiles/wcamb/WindowsLiveWriter/WindowsWebAppAlgunsrecursosparaWPFeSilve_9522/image_6.png"&gt;&lt;IMG title="Microsoft Health Common User Interface Logo" style="BORDER-RIGHT: 0px; BORDER-TOP: 0px; DISPLAY: inline; BORDER-LEFT: 0px; BORDER-BOTTOM: 0px" height=64 alt="Microsoft Health Common User Interface Logo" src="http://blogs.msdn.com/blogfiles/wcamb/WindowsLiveWriter/WindowsWebAppAlgunsrecursosparaWPFeSilve_9522/image_thumb_2.png" width=244 border=0 mce_src="http://blogs.msdn.com/blogfiles/wcamb/WindowsLiveWriter/WindowsWebAppAlgunsrecursosparaWPFeSilve_9522/image_thumb_2.png"&gt;&lt;/A&gt; &lt;/P&gt;
&lt;P&gt;Ref.: &lt;A title=http://www.mscui.net/ControlsAndSamples.aspx href="http://www.mscui.net/ControlsAndSamples.aspx" mce_href="http://www.mscui.net/ControlsAndSamples.aspx"&gt;http://www.mscui.net/ControlsAndSamples.aspx&lt;/A&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;COMENTÁRIOS:&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;A versão 6.5 do &lt;STRONG&gt;Microsoft Health Common User Interface Control Toolkit&lt;/STRONG&gt; é um pacote muito interessante e gratuíto, que consolida os controles e comportamentos de tela que vemos na demo do &lt;STRONG&gt;Patient Journey&lt;/STRONG&gt;. Quem ainda não viu essa aplicação, dá uma olhada no link abaixo: &lt;/P&gt;
&lt;P&gt;Ref.: &lt;A href="http://www.mscui.net/PatientJourneyDemonstrator/PrimaryCare.htm" target=_blank rel=nofollow mce_href="http://www.mscui.net/PatientJourneyDemonstrator/PrimaryCare.htm"&gt;http://www.mscui.net/PatientJourneyDemonstrator/PrimaryCare.htm&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;Esse pacote está disponível no &lt;STRONG&gt;CodePlex&lt;/STRONG&gt; da Microsoft (&lt;A title=http://www.codeplex.com/mscui href="http://www.codeplex.com/mscui" target=_blank rel=nofollow mce_href="http://www.codeplex.com/mscui"&gt;http://www.codeplex.com/mscui&lt;/A&gt;) e entre os componentes disponíveis temos:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;&lt;FONT color=#000080&gt;Graphing (new WPF and Microsoft® Silverlight™ controls)&lt;/FONT&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;FONT color=#000080&gt;MedicationsListView (updated WPF and Microsoft® Silverlight™ controls)&lt;/FONT&gt; &lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;Como pré-requisitos você precisa de Windows® XP SP2, Windows Server® 2003 R2 ou Windows Vista®. E como pacotes de desenvolvimento, você pode usar:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;&lt;FONT color=#000080&gt;Microsoft .NET Framework 2.0 – para aplicações usando apenas AJAX ou WinForms assemblies;&lt;/FONT&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;FONT color=#000080&gt;Microsoft .NET Framework 3.5 Service Pack 1 – para aplicações com todos os recursos: AJAX, WinForms, Silverlight ou WPF.&lt;/FONT&gt;&lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;E não deixe de conferir o portal de estudo do Silverlight, veja: &lt;A title=http://silverlight.net/Learn/ href="http://silverlight.net/Learn/" target=_blank rel=nofollow mce_href="http://silverlight.net/Learn/"&gt;http://silverlight.net/Learn/&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;4) Templates de aplicação e interfaces no .NET 3.5 SP1&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.msdn.com/blogfiles/wcamb/WindowsLiveWriter/WindowsWebAppAlgunsrecursosparaWPFeSilve_9522/image_10.png" mce_href="http://blogs.msdn.com/blogfiles/wcamb/WindowsLiveWriter/WindowsWebAppAlgunsrecursosparaWPFeSilve_9522/image_10.png"&gt;&lt;IMG title="Solution Explorer" style="BORDER-RIGHT: 0px; BORDER-TOP: 0px; DISPLAY: inline; BORDER-LEFT: 0px; BORDER-BOTTOM: 0px" height=231 alt="Solution Explorer" src="http://blogs.msdn.com/blogfiles/wcamb/WindowsLiveWriter/WindowsWebAppAlgunsrecursosparaWPFeSilve_9522/image_thumb_4.png" width=240 border=0 mce_src="http://blogs.msdn.com/blogfiles/wcamb/WindowsLiveWriter/WindowsWebAppAlgunsrecursosparaWPFeSilve_9522/image_thumb_4.png"&gt;&lt;/A&gt; &lt;A href="http://blogs.msdn.com/blogfiles/wcamb/WindowsLiveWriter/WindowsWebAppAlgunsrecursosparaWPFeSilve_9522/image_12.png" mce_href="http://blogs.msdn.com/blogfiles/wcamb/WindowsLiveWriter/WindowsWebAppAlgunsrecursosparaWPFeSilve_9522/image_12.png"&gt;&lt;IMG title=image style="BORDER-RIGHT: 0px; BORDER-TOP: 0px; DISPLAY: inline; BORDER-LEFT: 0px; BORDER-BOTTOM: 0px" height=68 alt=image src="http://blogs.msdn.com/blogfiles/wcamb/WindowsLiveWriter/WindowsWebAppAlgunsrecursosparaWPFeSilve_9522/image_thumb_5.png" width=224 border=0 mce_src="http://blogs.msdn.com/blogfiles/wcamb/WindowsLiveWriter/WindowsWebAppAlgunsrecursosparaWPFeSilve_9522/image_thumb_5.png"&gt;&lt;/A&gt; &lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;COMENTÁRIOS:&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;Finalmente, o próprio &lt;STRONG&gt;Visual Studio 2008&lt;/STRONG&gt; com&lt;STRONG&gt; .NET 3.5 SP1&lt;/STRONG&gt; oferece uma série de recursos e templates para a construção de interfaces ricas para o Web 2.0, assim como aplicações desktop muito sofisticadas. Entre os templates disponíveis encontramos:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;&lt;STRONG&gt;Windows Forms Application:&lt;/STRONG&gt; template para a construção de aplicações no modelo MVP, usando o namespace &lt;EM&gt;System.Windows.Forms&lt;/EM&gt;. A partir do WinForms, construímos interfaces desktop, com diversos recursos gráficos para a usabilidade e nagevação do usuário; &lt;BR&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;STRONG&gt;Windows Forms Control Library:&lt;/STRONG&gt; template que permite a construção customizada de controles para WinForms. Em alguns cenários, é comum customizar controles como grids integrados, caixas de texto com bindings para bancos de dados, combos gráficos especiais, entre outros, que ampliam a usabilidade da interface, facilitando tarefas do usuário. Esse template é o caminho para a geração desses novos &lt;EM&gt;assemblies&lt;/EM&gt;; &lt;BR&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;STRONG&gt;WPF Application:&lt;/STRONG&gt; a partir do .NET 3.0, temos o WPF – Windows Presentation Foundation, que oferece como principal diferencial o mapeamento dos controles gráficos através de uma linguagem de marcação, o XAML &lt;STRONG&gt;– XML Application Markup Language&lt;/STRONG&gt; (zamel, se preferir). Com esse template, construímos nossas interfaces XAML, usando recursos gráficos vetoriais, que oferecem uma série rica de recursos para usabilidade e navegação, permitindo interfaces bem atuais, acompanhando o &lt;EM&gt;look-and-feel&lt;/EM&gt; do Windows Vista. O namespace principal de recursos aqui é o &lt;EM&gt;System.Windows&lt;/EM&gt;.&amp;nbsp; &lt;BR&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;STRONG&gt;WPF Browser Application:&lt;/STRONG&gt; em alguns casos, podemos aproveitar a presença do .NET 3.x na máquina do usuário e fazer o download da aplicações WPF full pela Web. Isso é feito através de um pacote &lt;STRONG&gt;.XBAP – XAML Browser Application&lt;/STRONG&gt;. Como principal namespace usado temos o &lt;EM&gt;System.Windows.Controls.&lt;/EM&gt; &lt;BR&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;STRONG&gt;WPF User Control Library:&lt;/STRONG&gt; assim como fizemos com controles customizados para o WinForms, podemos construir nossos controles personalizados em WPF e empacotá-los em WPF User Control Libraries. Esses pacotes podem ser incorporados tanto em interfaces WPF como em interfaces WinForms. Aqui temos um ponto interessante. Veja a figura abaixo, onde uma interface WinForms consome um controle WPF. Sim, isso é possível e o inverso também… depois eu conto mais! :)&lt;A href="http://blogs.msdn.com/blogfiles/wcamb/WindowsLiveWriter/WindowsWebAppAlgunsrecursosparaWPFeSilve_9522/image_14.png" mce_href="http://blogs.msdn.com/blogfiles/wcamb/WindowsLiveWriter/WindowsWebAppAlgunsrecursosparaWPFeSilve_9522/image_14.png"&gt; &lt;BR&gt;&lt;BR&gt;&lt;IMG title=image style="BORDER-RIGHT: 0px; BORDER-TOP: 0px; DISPLAY: inline; BORDER-LEFT: 0px; BORDER-BOTTOM: 0px" height=286 alt=image src="http://blogs.msdn.com/blogfiles/wcamb/WindowsLiveWriter/WindowsWebAppAlgunsrecursosparaWPFeSilve_9522/image_thumb_6.png" width=473 border=0 mce_src="http://blogs.msdn.com/blogfiles/wcamb/WindowsLiveWriter/WindowsWebAppAlgunsrecursosparaWPFeSilve_9522/image_thumb_6.png"&gt;&lt;/A&gt;&amp;nbsp;&lt;/LI&gt;&lt;/UL&gt;
&lt;BLOCKQUOTE&gt;
&lt;P&gt;Um exemplo de código do WPF User Control Library é dado abaixo, apenas para comparar com o próximo template disponível, o WPF Custom Control Library, veja:&lt;/P&gt;
&lt;DIV style="BORDER-RIGHT: gray 1px solid; PADDING-RIGHT: 4px; BORDER-TOP: gray 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 8pt; PADDING-BOTTOM: 4px; MARGIN: 20px 0px 10px; OVERFLOW: auto; BORDER-LEFT: gray 1px solid; WIDTH: 97.5%; CURSOR: text; MAX-HEIGHT: 200px; LINE-HEIGHT: 12pt; PADDING-TOP: 4px; BORDER-BOTTOM: gray 1px solid; FONT-FAMILY: consolas, 'Courier New', courier, monospace; BACKGROUND-COLOR: #f4f4f4"&gt;
&lt;DIV style="PADDING-RIGHT: 0px; PADDING-LEFT: 0px; FONT-SIZE: 8pt; PADDING-BOTTOM: 0px; OVERFLOW: visible; WIDTH: 100%; COLOR: black; BORDER-TOP-STYLE: none; LINE-HEIGHT: 12pt; PADDING-TOP: 0px; FONT-FAMILY: consolas, 'Courier New', courier, monospace; BORDER-RIGHT-STYLE: none; BORDER-LEFT-STYLE: none; BACKGROUND-COLOR: #f4f4f4; BORDER-BOTTOM-STYLE: none"&gt;&lt;PRE style="PADDING-RIGHT: 0px; PADDING-LEFT: 0px; FONT-SIZE: 8pt; PADDING-BOTTOM: 0px; MARGIN: 0em; OVERFLOW: visible; WIDTH: 100%; COLOR: black; BORDER-TOP-STYLE: none; LINE-HEIGHT: 12pt; PADDING-TOP: 0px; FONT-FAMILY: consolas, 'Courier New', courier, monospace; BORDER-RIGHT-STYLE: none; BORDER-LEFT-STYLE: none; BACKGROUND-COLOR: white; BORDER-BOTTOM-STYLE: none"&gt;&lt;SPAN style="COLOR: #606060"&gt;   1:&lt;/SPAN&gt; &lt;SPAN style="COLOR: #0000ff"&gt;using&lt;/SPAN&gt; System.Windows.Controls;&lt;/PRE&gt;&lt;PRE style="PADDING-RIGHT: 0px; PADDING-LEFT: 0px; FONT-SIZE: 8pt; PADDING-BOTTOM: 0px; MARGIN: 0em; OVERFLOW: visible; WIDTH: 100%; COLOR: black; BORDER-TOP-STYLE: none; LINE-HEIGHT: 12pt; PADDING-TOP: 0px; FONT-FAMILY: consolas, 'Courier New', courier, monospace; BORDER-RIGHT-STYLE: none; BORDER-LEFT-STYLE: none; BACKGROUND-COLOR: #f4f4f4; BORDER-BOTTOM-STYLE: none"&gt;&lt;SPAN style="COLOR: #606060"&gt;   2:&lt;/SPAN&gt;&amp;nbsp; &lt;/PRE&gt;&lt;PRE style="PADDING-RIGHT: 0px; PADDING-LEFT: 0px; FONT-SIZE: 8pt; PADDING-BOTTOM: 0px; MARGIN: 0em; OVERFLOW: visible; WIDTH: 100%; COLOR: black; BORDER-TOP-STYLE: none; LINE-HEIGHT: 12pt; PADDING-TOP: 0px; FONT-FAMILY: consolas, 'Courier New', courier, monospace; BORDER-RIGHT-STYLE: none; BORDER-LEFT-STYLE: none; BACKGROUND-COLOR: white; BORDER-BOTTOM-STYLE: none"&gt;&lt;SPAN style="COLOR: #606060"&gt;   3:&lt;/SPAN&gt; &lt;SPAN style="COLOR: #0000ff"&gt;namespace&lt;/SPAN&gt; WpfControlLibrary1&lt;/PRE&gt;&lt;PRE style="PADDING-RIGHT: 0px; PADDING-LEFT: 0px; FONT-SIZE: 8pt; PADDING-BOTTOM: 0px; MARGIN: 0em; OVERFLOW: visible; WIDTH: 100%; COLOR: black; BORDER-TOP-STYLE: none; LINE-HEIGHT: 12pt; PADDING-TOP: 0px; FONT-FAMILY: consolas, 'Courier New', courier, monospace; BORDER-RIGHT-STYLE: none; BORDER-LEFT-STYLE: none; BACKGROUND-COLOR: #f4f4f4; BORDER-BOTTOM-STYLE: none"&gt;&lt;SPAN style="COLOR: #606060"&gt;   4:&lt;/SPAN&gt; {&lt;/PRE&gt;&lt;PRE style="PADDING-RIGHT: 0px; PADDING-LEFT: 0px; FONT-SIZE: 8pt; PADDING-BOTTOM: 0px; MARGIN: 0em; OVERFLOW: visible; WIDTH: 100%; COLOR: black; BORDER-TOP-STYLE: none; LINE-HEIGHT: 12pt; PADDING-TOP: 0px; FONT-FAMILY: consolas, 'Courier New', courier, monospace; BORDER-RIGHT-STYLE: none; BORDER-LEFT-STYLE: none; BACKGROUND-COLOR: white; BORDER-BOTTOM-STYLE: none"&gt;&lt;SPAN style="COLOR: #606060"&gt;   5:&lt;/SPAN&gt;     &lt;SPAN style="COLOR: #008000"&gt;/// &amp;lt;summary&amp;gt;&lt;/SPAN&gt;&lt;/PRE&gt;&lt;PRE style="PADDING-RIGHT: 0px; PADDING-LEFT: 0px; FONT-SIZE: 8pt; PADDING-BOTTOM: 0px; MARGIN: 0em; OVERFLOW: visible; WIDTH: 100%; COLOR: black; BORDER-TOP-STYLE: none; LINE-HEIGHT: 12pt; PADDING-TOP: 0px; FONT-FAMILY: consolas, 'Courier New', courier, monospace; BORDER-RIGHT-STYLE: none; BORDER-LEFT-STYLE: none; BACKGROUND-COLOR: #f4f4f4; BORDER-BOTTOM-STYLE: none"&gt;&lt;SPAN style="COLOR: #606060"&gt;   6:&lt;/SPAN&gt;     &lt;SPAN style="COLOR: #008000"&gt;/// Interaction logic for UserControl1.xaml&lt;/SPAN&gt;&lt;/PRE&gt;&lt;PRE style="PADDING-RIGHT: 0px; PADDING-LEFT: 0px; FONT-SIZE: 8pt; PADDING-BOTTOM: 0px; MARGIN: 0em; OVERFLOW: visible; WIDTH: 100%; COLOR: black; BORDER-TOP-STYLE: none; LINE-HEIGHT: 12pt; PADDING-TOP: 0px; FONT-FAMILY: consolas, 'Courier New', courier, monospace; BORDER-RIGHT-STYLE: none; BORDER-LEFT-STYLE: none; BACKGROUND-COLOR: white; BORDER-BOTTOM-STYLE: none"&gt;&lt;SPAN style="COLOR: #606060"&gt;   7:&lt;/SPAN&gt;     &lt;SPAN style="COLOR: #008000"&gt;/// &amp;lt;/summary&amp;gt;&lt;/SPAN&gt;&lt;/PRE&gt;&lt;PRE style="PADDING-RIGHT: 0px; PADDING-LEFT: 0px; FONT-SIZE: 8pt; PADDING-BOTTOM: 0px; MARGIN: 0em; OVERFLOW: visible; WIDTH: 100%; COLOR: black; BORDER-TOP-STYLE: none; LINE-HEIGHT: 12pt; PADDING-TOP: 0px; FONT-FAMILY: consolas, 'Courier New', courier, monospace; BORDER-RIGHT-STYLE: none; BORDER-LEFT-STYLE: none; BACKGROUND-COLOR: #f4f4f4; BORDER-BOTTOM-STYLE: none"&gt;&lt;SPAN style="COLOR: #606060"&gt;   8:&lt;/SPAN&gt;     &lt;SPAN style="COLOR: #0000ff"&gt;public&lt;/SPAN&gt; &lt;SPAN style="COLOR: #0000ff"&gt;partial&lt;/SPAN&gt; &lt;SPAN style="COLOR: #0000ff"&gt;class&lt;/SPAN&gt; UserControl1 : UserControl&lt;/PRE&gt;&lt;PRE style="PADDING-RIGHT: 0px; PADDING-LEFT: 0px; FONT-SIZE: 8pt; PADDING-BOTTOM: 0px; MARGIN: 0em; OVERFLOW: visible; WIDTH: 100%; COLOR: black; BORDER-TOP-STYLE: none; LINE-HEIGHT: 12pt; PADDING-TOP: 0px; FONT-FAMILY: consolas, 'Courier New', courier, monospace; BORDER-RIGHT-STYLE: none; BORDER-LEFT-STYLE: none; BACKGROUND-COLOR: white; BORDER-BOTTOM-STYLE: none"&gt;&lt;SPAN style="COLOR: #606060"&gt;   9:&lt;/SPAN&gt;     {&lt;/PRE&gt;&lt;PRE style="PADDING-RIGHT: 0px; PADDING-LEFT: 0px; FONT-SIZE: 8pt; PADDING-BOTTOM: 0px; MARGIN: 0em; OVERFLOW: visible; WIDTH: 100%; COLOR: black; BORDER-TOP-STYLE: none; LINE-HEIGHT: 12pt; PADDING-TOP: 0px; FONT-FAMILY: consolas, 'Courier New', courier, monospace; BORDER-RIGHT-STYLE: none; BORDER-LEFT-STYLE: none; BACKGROUND-COLOR: #f4f4f4; BORDER-BOTTOM-STYLE: none"&gt;&lt;SPAN style="COLOR: #606060"&gt;  10:&lt;/SPAN&gt;         &lt;SPAN style="COLOR: #0000ff"&gt;public&lt;/SPAN&gt; UserControl1()&lt;/PRE&gt;&lt;PRE style="PADDING-RIGHT: 0px; PADDING-LEFT: 0px; FONT-SIZE: 8pt; PADDING-BOTTOM: 0px; MARGIN: 0em; OVERFLOW: visible; WIDTH: 100%; COLOR: black; BORDER-TOP-STYLE: none; LINE-HEIGHT: 12pt; PADDING-TOP: 0px; FONT-FAMILY: consolas, 'Courier New', courier, monospace; BORDER-RIGHT-STYLE: none; BORDER-LEFT-STYLE: none; BACKGROUND-COLOR: white; BORDER-BOTTOM-STYLE: none"&gt;&lt;SPAN style="COLOR: #606060"&gt;  11:&lt;/SPAN&gt;         {&lt;/PRE&gt;&lt;PRE style="PADDING-RIGHT: 0px; PADDING-LEFT: 0px; FONT-SIZE: 8pt; PADDING-BOTTOM: 0px; MARGIN: 0em; OVERFLOW: visible; WIDTH: 100%; COLOR: black; BORDER-TOP-STYLE: none; LINE-HEIGHT: 12pt; PADDING-TOP: 0px; FONT-FAMILY: consolas, 'Courier New', courier, monospace; BORDER-RIGHT-STYLE: none; BORDER-LEFT-STYLE: none; BACKGROUND-COLOR: #f4f4f4; BORDER-BOTTOM-STYLE: none"&gt;&lt;SPAN style="COLOR: #606060"&gt;  12:&lt;/SPAN&gt;             InitializeComponent();&lt;/PRE&gt;&lt;PRE style="PADDING-RIGHT: 0px; PADDING-LEFT: 0px; FONT-SIZE: 8pt; PADDING-BOTTOM: 0px; MARGIN: 0em; OVERFLOW: visible; WIDTH: 100%; COLOR: black; BORDER-TOP-STYLE: none; LINE-HEIGHT: 12pt; PADDING-TOP: 0px; FONT-FAMILY: consolas, 'Courier New', courier, monospace; BORDER-RIGHT-STYLE: none; BORDER-LEFT-STYLE: none; BACKGROUND-COLOR: white; BORDER-BOTTOM-STYLE: none"&gt;&lt;SPAN style="COLOR: #606060"&gt;  13:&lt;/SPAN&gt;         }&lt;/PRE&gt;&lt;PRE style="PADDING-RIGHT: 0px; PADDING-LEFT: 0px; FONT-SIZE: 8pt; PADDING-BOTTOM: 0px; MARGIN: 0em; OVERFLOW: visible; WIDTH: 100%; COLOR: black; BORDER-TOP-STYLE: none; LINE-HEIGHT: 12pt; PADDING-TOP: 0px; FONT-FAMILY: consolas, 'Courier New', courier, monospace; BORDER-RIGHT-STYLE: none; BORDER-LEFT-STYLE: none; BACKGROUND-COLOR: #f4f4f4; BORDER-BOTTOM-STYLE: none"&gt;&lt;SPAN style="COLOR: #606060"&gt;  14:&lt;/SPAN&gt;     }&lt;/PRE&gt;&lt;PRE style="PADDING-RIGHT: 0px; PADDING-LEFT: 0px; FONT-SIZE: 8pt; PADDING-BOTTOM: 0px; MARGIN: 0em; OVERFLOW: visible; WIDTH: 100%; COLOR: black; BORDER-TOP-STYLE: none; LINE-HEIGHT: 12pt; PADDING-TOP: 0px; FONT-FAMILY: consolas, 'Courier New', courier, monospace; BORDER-RIGHT-STYLE: none; BORDER-LEFT-STYLE: none; BACKGROUND-COLOR: white; BORDER-BOTTOM-STYLE: none"&gt;&lt;SPAN style="COLOR: #606060"&gt;  15:&lt;/SPAN&gt; }&lt;/PRE&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/BLOCKQUOTE&gt;
&lt;UL&gt;
&lt;LI&gt;&lt;STRONG&gt;WPF Custom Control Library&lt;/STRONG&gt;: a principal diferença entre o User Control Library e o Custom Control Library é que o primeiro é destinado para o enpsulamento de funcionalidades pré-existentes, envelopando outros componentes do toolkit num componente maior. Esse componente User Interface pode, por exemplo, ser importado em outras interfaces WFP ou mesmo WinForms, como vimos acima. &lt;BR&gt;&lt;BR&gt;Já o WPF Custom Control Library Template permite a construção de novos controles gráficos WPF, estendendo a classe Control. Desse modo, partimos da descrição em XAML para o comportamento do novo controle gerado, a partir do arquivo &lt;STRONG&gt;Generic.xaml&lt;/STRONG&gt;, que vemos abaixo:&lt;/LI&gt;
&lt;DIV style="BORDER-RIGHT: gray 1px solid; PADDING-RIGHT: 4px; BORDER-TOP: gray 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 8pt; PADDING-BOTTOM: 4px; MARGIN: 20px 0px 10px; OVERFLOW: auto; BORDER-LEFT: gray 1px solid; WIDTH: 97.5%; CURSOR: text; MAX-HEIGHT: 200px; LINE-HEIGHT: 12pt; PADDING-TOP: 4px; BORDER-BOTTOM: gray 1px solid; FONT-FAMILY: consolas, 'Courier New', courier, monospace; BACKGROUND-COLOR: #f4f4f4"&gt;
&lt;DIV style="PADDING-RIGHT: 0px; PADDING-LEFT: 0px; FONT-SIZE: 8pt; PADDING-BOTTOM: 0px; OVERFLOW: visible; WIDTH: 100%; COLOR: black; BORDER-TOP-STYLE: none; LINE-HEIGHT: 12pt; PADDING-TOP: 0px; FONT-FAMILY: consolas, 'Courier New', courier, monospace; BORDER-RIGHT-STYLE: none; BORDER-LEFT-STYLE: none; BACKGROUND-COLOR: #f4f4f4; BORDER-BOTTOM-STYLE: none"&gt;&lt;PRE style="PADDING-RIGHT: 0px; PADDING-LEFT: 0px; FONT-SIZE: 8pt; PADDING-BOTTOM: 0px; MARGIN: 0em; OVERFLOW: visible; WIDTH: 100%; COLOR: black; BORDER-TOP-STYLE: none; LINE-HEIGHT: 12pt; PADDING-TOP: 0px; FONT-FAMILY: consolas, 'Courier New', courier, monospace; BORDER-RIGHT-STYLE: none; BORDER-LEFT-STYLE: none; BACKGROUND-COLOR: white; BORDER-BOTTOM-STYLE: none"&gt;&lt;SPAN style="COLOR: #606060"&gt;   1:&lt;/SPAN&gt; &amp;lt;ResourceDictionary&lt;/PRE&gt;&lt;PRE style="PADDING-RIGHT: 0px; PADDING-LEFT: 0px; FONT-SIZE: 8pt; PADDING-BOTTOM: 0px; MARGIN: 0em; OVERFLOW: visible; WIDTH: 100%; COLOR: black; BORDER-TOP-STYLE: none; LINE-HEIGHT: 12pt; PADDING-TOP: 0px; FONT-FAMILY: consolas, 'Courier New', courier, monospace; BORDER-RIGHT-STYLE: none; BORDER-LEFT-STYLE: none; BACKGROUND-COLOR: #f4f4f4; BORDER-BOTTOM-STYLE: none"&gt;&lt;SPAN style="COLOR: #606060"&gt;   2:&lt;/SPAN&gt;     xmlns=&lt;SPAN style="COLOR: #006080"&gt;"http://schemas.microsoft.com/winfx/2006/xaml/presentation"&lt;/SPAN&gt;&lt;/PRE&gt;&lt;PRE style="PADDING-RIGHT: 0px; PADDING-LEFT: 0px; FONT-SIZE: 8pt; PADDING-BOTTOM: 0px; MARGIN: 0em; OVERFLOW: visible; WIDTH: 100%; COLOR: black; BORDER-TOP-STYLE: none; LINE-HEIGHT: 12pt; PADDING-TOP: 0px; FONT-FAMILY: consolas, 'Courier New', courier, monospace; BORDER-RIGHT-STYLE: none; BORDER-LEFT-STYLE: none; BACKGROUND-COLOR: white; BORDER-BOTTOM-STYLE: none"&gt;&lt;SPAN style="COLOR: #606060"&gt;   3:&lt;/SPAN&gt;     xmlns:x=&lt;SPAN style="COLOR: #006080"&gt;"http://schemas.microsoft.com/winfx/2006/xaml"&lt;/SPAN&gt;&lt;/PRE&gt;&lt;PRE style="PADDING-RIGHT: 0px; PADDING-LEFT: 0px; FONT-SIZE: 8pt; PADDING-BOTTOM: 0px; MARGIN: 0em; OVERFLOW: visible; WIDTH: 100%; COLOR: black; BORDER-TOP-STYLE: none; LINE-HEIGHT: 12pt; PADDING-TOP: 0px; FONT-FAMILY: consolas, 'Courier New', courier, monospace; BORDER-RIGHT-STYLE: none; BORDER-LEFT-STYLE: none; BACKGROUND-COLOR: #f4f4f4; BORDER-BOTTOM-STYLE: none"&gt;&lt;SPAN style="COLOR: #606060"&gt;   4:&lt;/SPAN&gt;     xmlns:local=&lt;SPAN style="COLOR: #006080"&gt;"clr-namespace:WpfCustomControlLibrary"&lt;/SPAN&gt;&amp;gt;&lt;/PRE&gt;&lt;PRE style="PADDING-RIGHT: 0px; PADDING-LEFT: 0px; FONT-SIZE: 8pt; PADDING-BOTTOM: 0px; MARGIN: 0em; OVERFLOW: visible; WIDTH: 100%; COLOR: black; BORDER-TOP-STYLE: none; LINE-HEIGHT: 12pt; PADDING-TOP: 0px; FONT-FAMILY: consolas, 'Courier New', courier, monospace; BORDER-RIGHT-STYLE: none; BORDER-LEFT-STYLE: none; BACKGROUND-COLOR: white; BORDER-BOTTOM-STYLE: none"&gt;&lt;SPAN style="COLOR: #606060"&gt;   5:&lt;/SPAN&gt;     &amp;lt;Style TargetType=&lt;SPAN style="COLOR: #006080"&gt;"{x:Type local:CustomControl1}"&lt;/SPAN&gt;&amp;gt;&lt;/PRE&gt;&lt;PRE style="PADDING-RIGHT: 0px; PADDING-LEFT: 0px; FONT-SIZE: 8pt; PADDING-BOTTOM: 0px; MARGIN: 0em; OVERFLOW: visible; WIDTH: 100%; COLOR: black; BORDER-TOP-STYLE: none; LINE-HEIGHT: 12pt; PADDING-TOP: 0px; FONT-FAMILY: consolas, 'Courier New', courier, monospace; BORDER-RIGHT-STYLE: none; BORDER-LEFT-STYLE: none; BACKGROUND-COLOR: #f4f4f4; BORDER-BOTTOM-STYLE: none"&gt;&lt;SPAN style="COLOR: #606060"&gt;   6:&lt;/SPAN&gt;         &amp;lt;Setter Property=&lt;SPAN style="COLOR: #006080"&gt;"Template"&lt;/SPAN&gt;&amp;gt;&lt;/PRE&gt;&lt;PRE style="PADDING-RIGHT: 0px; PADDING-LEFT: 0px; FONT-SIZE: 8pt; PADDING-BOTTOM: 0px; MARGIN: 0em; OVERFLOW: visible; WIDTH: 100%; COLOR: black; BORDER-TOP-STYLE: none; LINE-HEIGHT: 12pt; PADDING-TOP: 0px; FONT-FAMILY: consolas, 'Courier New', courier, monospace; BORDER-RIGHT-STYLE: none; BORDER-LEFT-STYLE: none; BACKGROUND-COLOR: white; BORDER-BOTTOM-STYLE: none"&gt;&lt;SPAN style="COLOR: #606060"&gt;   7:&lt;/SPAN&gt;             &amp;lt;Setter.Value&amp;gt;&lt;/PRE&gt;&lt;PRE style="PADDING-RIGHT: 0px; PADDING-LEFT: 0px; FONT-SIZE: 8pt; PADDING-BOTTOM: 0px; MARGIN: 0em; OVERFLOW: visible; WIDTH: 100%; COLOR: black; BORDER-TOP-STYLE: none; LINE-HEIGHT: 12pt; PADDING-TOP: 0px; FONT-FAMILY: consolas, 'Courier New', courier, monospace; BORDER-RIGHT-STYLE: none; BORDER-LEFT-STYLE: none; BACKGROUND-COLOR: #f4f4f4; BORDER-BOTTOM-STYLE: none"&gt;&lt;SPAN style="COLOR: #606060"&gt;   8:&lt;/SPAN&gt;                 &amp;lt;ControlTemplate TargetType=&lt;SPAN style="COLOR: #006080"&gt;"{x:Type local:CustomControl1}"&lt;/SPAN&gt;&amp;gt;&lt;/PRE&gt;&lt;PRE style="PADDING-RIGHT: 0px; PADDING-LEFT: 0px; FONT-SIZE: 8pt; PADDING-BOTTOM: 0px; MARGIN: 0em; OVERFLOW: visible; WIDTH: 100%; COLOR: black; BORDER-TOP-STYLE: none; LINE-HEIGHT: 12pt; PADDING-TOP: 0px; FONT-FAMILY: consolas, 'Courier New', courier, monospace; BORDER-RIGHT-STYLE: none; BORDER-LEFT-STYLE: none; BACKGROUND-COLOR: white; BORDER-BOTTOM-STYLE: none"&gt;&lt;SPAN style="COLOR: #606060"&gt;   9:&lt;/SPAN&gt;                     &amp;lt;Border Background=&lt;SPAN style="COLOR: #006080"&gt;"{TemplateBinding Background}"&lt;/SPAN&gt;&lt;/PRE&gt;&lt;PRE style="PADDING-RIGHT: 0px; PADDING-LEFT: 0px; FONT-SIZE: 8pt; PADDING-BOTTOM: 0px; MARGIN: 0em; OVERFLOW: visible; WIDTH: 100%; COLOR: black; BORDER-TOP-STYLE: none; LINE-HEIGHT: 12pt; PADDING-TOP: 0px; FONT-FAMILY: consolas, 'Courier New', courier, monospace; BORDER-RIGHT-STYLE: none; BORDER-LEFT-STYLE: none; BACKGROUND-COLOR: #f4f4f4; BORDER-BOTTOM-STYLE: none"&gt;&lt;SPAN style="COLOR: #606060"&gt;  10:&lt;/SPAN&gt;                             BorderBrush=&lt;SPAN style="COLOR: #006080"&gt;"{TemplateBinding BorderBrush}"&lt;/SPAN&gt;&lt;/PRE&gt;&lt;PRE style="PADDING-RIGHT: 0px; PADDING-LEFT: 0px; FONT-SIZE: 8pt; PADDING-BOTTOM: 0px; MARGIN: 0em; OVERFLOW: visible; WIDTH: 100%; COLOR: black; BORDER-TOP-STYLE: none; LINE-HEIGHT: 12pt; PADDING-TOP: 0px; FONT-FAMILY: consolas, 'Courier New', courier, monospace; BORDER-RIGHT-STYLE: none; BORDER-LEFT-STYLE: none; BACKGROUND-COLOR: white; BORDER-BOTTOM-STYLE: none"&gt;&lt;SPAN style="COLOR: #606060"&gt;  11:&lt;/SPAN&gt;                             BorderThickness=&lt;SPAN style="COLOR: #006080"&gt;"{TemplateBinding BorderThickness}"&lt;/SPAN&gt;&amp;gt;&lt;/PRE&gt;&lt;PRE style="PADDING-RIGHT: 0px; PADDING-LEFT: 0px; FONT-SIZE: 8pt; PADDING-BOTTOM: 0px; MARGIN: 0em; OVERFLOW: visible; WIDTH: 100%; COLOR: black; BORDER-TOP-STYLE: none; LINE-HEIGHT: 12pt; PADDING-TOP: 0px; FONT-FAMILY: consolas, 'Courier New', courier, monospace; BORDER-RIGHT-STYLE: none; BORDER-LEFT-STYLE: none; BACKGROUND-COLOR: #f4f4f4; BORDER-BOTTOM-STYLE: none"&gt;&lt;SPAN style="COLOR: #606060"&gt;  12:&lt;/SPAN&gt;                     &amp;lt;/Border&amp;gt;&lt;/PRE&gt;&lt;PRE style="PADDING-RIGHT: 0px; PADDING-LEFT: 0px; FONT-SIZE: 8pt; PADDING-BOTTOM: 0px; MARGIN: 0em; OVERFLOW: visible; WIDTH: 100%; COLOR: black; BORDER-TOP-STYLE: none; LINE-HEIGHT: 12pt; PADDING-TOP: 0px; FONT-FAMILY: consolas, 'Courier New', courier, monospace; BORDER-RIGHT-STYLE: none; BORDER-LEFT-STYLE: none; BACKGROUND-COLOR: white; BORDER-BOTTOM-STYLE: none"&gt;&lt;SPAN style="COLOR: #606060"&gt;  13:&lt;/SPAN&gt;                 &amp;lt;/ControlTemplate&amp;gt;&lt;/PRE&gt;&lt;PRE style="PADDING-RIGHT: 0px; PADDING-LEFT: 0px; FONT-SIZE: 8pt; PADDING-BOTTOM: 0px; MARGIN: 0em; OVERFLOW: visible; WIDTH: 100%; COLOR: black; BORDER-TOP-STYLE: none; LINE-HEIGHT: 12pt; PADDING-TOP: 0px; FONT-FAMILY: consolas, 'Courier New', courier, monospace; BORDER-RIGHT-STYLE: none; BORDER-LEFT-STYLE: none; BACKGROUND-COLOR: #f4f4f4; BORDER-BOTTOM-STYLE: none"&gt;&lt;SPAN style="COLOR: #606060"&gt;  14:&lt;/SPAN&gt;             &amp;lt;/Setter.Value&amp;gt;&lt;/PRE&gt;&lt;PRE style="PADDING-RIGHT: 0px; PADDING-LEFT: 0px; FONT-SIZE: 8pt; PADDING-BOTTOM: 0px; MARGIN: 0em; OVERFLOW: visible; WIDTH: 100%; COLOR: black; BORDER-TOP-STYLE: none; LINE-HEIGHT: 12pt; PADDING-TOP: 0px; FONT-FAMILY: consolas, 'Courier New', courier, monospace; BORDER-RIGHT-STYLE: none; BORDER-LEFT-STYLE: none; BACKGROUND-COLOR: white; BORDER-BOTTOM-STYLE: none"&gt;&lt;SPAN style="COLOR: #606060"&gt;  15:&lt;/SPAN&gt;         &amp;lt;/Setter&amp;gt;&lt;/PRE&gt;&lt;PRE style="PADDING-RIGHT: 0px; PADDING-LEFT: 0px; FONT-SIZE: 8pt; PADDING-BOTTOM: 0px; MARGIN: 0em; OVERFLOW: visible; WIDTH: 100%; COLOR: black; BORDER-TOP-STYLE: none; LINE-HEIGHT: 12pt; PADDING-TOP: 0px; FONT-FAMILY: consolas, 'Courier New', courier, monospace; BORDER-RIGHT-STYLE: none; BORDER-LEFT-STYLE: none; BACKGROUND-COLOR: #f4f4f4; BORDER-BOTTOM-STYLE: none"&gt;&lt;SPAN style="COLOR: #606060"&gt;  16:&lt;/SPAN&gt;     &amp;lt;/Style&amp;gt;&lt;/PRE&gt;&lt;PRE style="PADDING-RIGHT: 0px; PADDING-LEFT: 0px; FONT-SIZE: 8pt; PADDING-BOTTOM: 0px; MARGIN: 0em; OVERFLOW: visible; WIDTH: 100%; COLOR: black; BORDER-TOP-STYLE: none; LINE-HEIGHT: 12pt; PADDING-TOP: 0px; FONT-FAMILY: consolas, 'Courier New', courier, monospace; BORDER-RIGHT-STYLE: none; BORDER-LEFT-STYLE: none; BACKGROUND-COLOR: white; BORDER-BOTTOM-STYLE: none"&gt;&lt;SPAN style="COLOR: #606060"&gt;  17:&lt;/SPAN&gt; &amp;lt;/ResourceDictionary&amp;gt;&lt;/PRE&gt;&lt;/DIV&gt;&lt;/DIV&gt;
&lt;LI&gt;O arquivo &lt;STRONG&gt;CustomControl1.cs&lt;/STRONG&gt; é dado abaixo, a partir do próprio template:&lt;/LI&gt;
&lt;DIV style="BORDER-RIGHT: gray 1px solid; PADDING-RIGHT: 4px; BORDER-TOP: gray 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 8pt; PADDING-BOTTOM: 4px; MARGIN: 20px 0px 10px; OVERFLOW: auto; BORDER-LEFT: gray 1px solid; WIDTH: 97.5%; CURSOR: text; MAX-HEIGHT: 200px; LINE-HEIGHT: 12pt; PADDING-TOP: 4px; BORDER-BOTTOM: gray 1px solid; FONT-FAMILY: consolas, 'Courier New', courier, monospace; BACKGROUND-COLOR: #f4f4f4"&gt;
&lt;DIV style="PADDING-RIGHT: 0px; PADDING-LEFT: 0px; FONT-SIZE: 8pt; PADDING-BOTTOM: 0px; OVERFLOW: visible; WIDTH: 100%; COLOR: black; BORDER-TOP-STYLE: none; LINE-HEIGHT: 12pt; PADDING-TOP: 0px; FONT-FAMILY: consolas, 'Courier New', courier, monospace; BORDER-RIGHT-STYLE: none; BORDER-LEFT-STYLE: none; BACKGROUND-COLOR: #f4f4f4; BORDER-BOTTOM-STYLE: none"&gt;&lt;PRE style="PADDING-RIGHT: 0px; PADDING-LEFT: 0px; FONT-SIZE: 8pt; PADDING-BOTTOM: 0px; MARGIN: 0em; OVERFLOW: visible; WIDTH: 100%; COLOR: black; BORDER-TOP-STYLE: none; LINE-HEIGHT: 12pt; PADDING-TOP: 0px; FONT-FAMILY: consolas, 'Courier New', courier, monospace; BORDER-RIGHT-STYLE: none; BORDER-LEFT-STYLE: none; BACKGROUND-COLOR: white; BORDER-BOTTOM-STYLE: none"&gt;&lt;SPAN style="COLOR: #606060"&gt;   1:&lt;/SPAN&gt; &lt;SPAN style="COLOR: #0000ff"&gt;using&lt;/SPAN&gt; System.Windows;&lt;/PRE&gt;&lt;PRE style="PADDING-RIGHT: 0px; PADDING-LEFT: 0px; FONT-SIZE: 8pt; PADDING-BOTTOM: 0px; MARGIN: 0em; OVERFLOW: visible; WIDTH: 100%; COLOR: black; BORDER-TOP-STYLE: none; LINE-HEIGHT: 12pt; PADDING-TOP: 0px; FONT-FAMILY: consolas, 'Courier New', courier, monospace; BORDER-RIGHT-STYLE: none; BORDER-LEFT-STYLE: none; BACKGROUND-COLOR: #f4f4f4; BORDER-BOTTOM-STYLE: none"&gt;&lt;SPAN style="COLOR: #606060"&gt;   2:&lt;/SPAN&gt; &lt;SPAN style="COLOR: #0000ff"&gt;using&lt;/SPAN&gt; System.Windows.Controls;&lt;/PRE&gt;&lt;PRE style="PADDING-RIGHT: 0px; PADDING-LEFT: 0px; FONT-SIZE: 8pt; PADDING-BOTTOM: 0px; MARGIN: 0em; OVERFLOW: visible; WIDTH: 100%; COLOR: black; BORDER-TOP-STYLE: none; LINE-HEIGHT: 12pt; PADDING-TOP: 0px; FONT-FAMILY: consolas, 'Courier New', courier, monospace; BORDER-RIGHT-STYLE: none; BORDER-LEFT-STYLE: none; BACKGROUND-COLOR: white; BORDER-BOTTOM-STYLE: none"&gt;&lt;SPAN style="COLOR: #606060"&gt;   3:&lt;/SPAN&gt;&amp;nbsp; &lt;/PRE&gt;&lt;PRE style="PADDING-RIGHT: 0px; PADDING-LEFT: 0px; FONT-SIZE: 8pt; PADDING-BOTTOM: 0px; MARGIN: 0em; OVERFLOW: visible; WIDTH: 100%; COLOR: black; BORDER-TOP-STYLE: none; LINE-HEIGHT: 12pt; PADDING-TOP: 0px; FONT-FAMILY: consolas, 'Courier New', courier, monospace; BORDER-RIGHT-STYLE: none; BORDER-LEFT-STYLE: none; BACKGROUND-COLOR: #f4f4f4; BORDER-BOTTOM-STYLE: none"&gt;&lt;SPAN style="COLOR: #606060"&gt;   4:&lt;/SPAN&gt; &lt;SPAN style="COLOR: #0000ff"&gt;namespace&lt;/SPAN&gt; WpfCustomControlLibrary&lt;/PRE&gt;&lt;PRE style="PADDING-RIGHT: 0px; PADDING-LEFT: 0px; FONT-SIZE: 8pt; PADDING-BOTTOM: 0px; MARGIN: 0em; OVERFLOW: visible; WIDTH: 100%; COLOR: black; BORDER-TOP-STYLE: none; LINE-HEIGHT: 12pt; PADDING-TOP: 0px; FONT-FAMILY: consolas, 'Courier New', courier, monospace; BORDER-RIGHT-STYLE: none; BORDER-LEFT-STYLE: none; BACKGROUND-COLOR: white; BORDER-BOTTOM-STYLE: none"&gt;&lt;SPAN style="COLOR: #606060"&gt;   5:&lt;/SPAN&gt; {&lt;/PRE&gt;&lt;PRE style="PADDING-RIGHT: 0px; PADDING-LEFT: 0px; FONT-SIZE: 8pt; PADDING-BOTTOM: 0px; MARGIN: 0em; OVERFLOW: visible; WIDTH: 100%; COLOR: black; BORDER-TOP-STYLE: none; LINE-HEIGHT: 12pt; PADDING-TOP: 0px; FONT-FAMILY: consolas, 'Courier New', courier, monospace; BORDER-RIGHT-STYLE: none; BORDER-LEFT-STYLE: none; BACKGROUND-COLOR: #f4f4f4; BORDER-BOTTOM-STYLE: none"&gt;&lt;SPAN style="COLOR: #606060"&gt;   6:&lt;/SPAN&gt;     &lt;SPAN style="COLOR: #0000ff"&gt;public&lt;/SPAN&gt; &lt;SPAN style="COLOR: #0000ff"&gt;class&lt;/SPAN&gt; CustomControl1 : Control&lt;/PRE&gt;&lt;PRE style="PADDING-RIGHT: 0px; PADDING-LEFT: 0px; FONT-SIZE: 8pt; PADDING-BOTTOM: 0px; MARGIN: 0em; OVERFLOW: visible; WIDTH: 100%; COLOR: black; BORDER-TOP-STYLE: none; LINE-HEIGHT: 12pt; PADDING-TOP: 0px; FONT-FAMILY: consolas, 'Courier New', courier, monospace; BORDER-RIGHT-STYLE: none; BORDER-LEFT-STYLE: none; BACKGROUND-COLOR: white; BORDER-BOTTOM-STYLE: none"&gt;&lt;SPAN style="COLOR: #606060"&gt;   7:&lt;/SPAN&gt;     {&lt;/PRE&gt;&lt;PRE style="PADDING-RIGHT: 0px; PADDING-LEFT: 0px; FONT-SIZE: 8pt; PADDING-BOTTOM: 0px; MARGIN: 0em; OVERFLOW: visible; WIDTH: 100%; COLOR: black; BORDER-TOP-STYLE: none; LINE-HEIGHT: 12pt; PADDING-TOP: 0px; FONT-FAMILY: consolas, 'Courier New', courier, monospace; BORDER-RIGHT-STYLE: none; BORDER-LEFT-STYLE: none; BACKGROUND-COLOR: #f4f4f4; BORDER-BOTTOM-STYLE: none"&gt;&lt;SPAN style="COLOR: #606060"&gt;   8:&lt;/SPAN&gt;         &lt;SPAN style="COLOR: #0000ff"&gt;static&lt;/SPAN&gt; CustomControl1()&lt;/PRE&gt;&lt;PRE style="PADDING-RIGHT: 0px; PADDING-LEFT: 0px; FONT-SIZE: 8pt; PADDING-BOTTOM: 0px; MARGIN: 0em; OVERFLOW: visible; WIDTH: 100%; COLOR: black; BORDER-TOP-STYLE: none; LINE-HEIGHT: 12pt; PADDING-TOP: 0px; FONT-FAMILY: consolas, 'Courier New', courier, monospace; BORDER-RIGHT-STYLE: none; BORDER-LEFT-STYLE: none; BACKGROUND-COLOR: white; BORDER-BOTTOM-STYLE: none"&gt;&lt;SPAN style="COLOR: #606060"&gt;   9:&lt;/SPAN&gt;         {&lt;/PRE&gt;&lt;PRE style="PADDING-RIGHT: 0px; PADDING-LEFT: 0px; FONT-SIZE: 8pt; PADDING-BOTTOM: 0px; MARGIN: 0em; OVERFLOW: visible; WIDTH: 100%; COLOR: black; BORDER-TOP-STYLE: none; LINE-HEIGHT: 12pt; PADDING-TOP: 0px; FONT-FAMILY: consolas, 'Courier New', courier, monospace; BORDER-RIGHT-STYLE: none; BORDER-LEFT-STYLE: none; BACKGROUND-COLOR: #f4f4f4; BORDER-BOTTOM-STYLE: none"&gt;&lt;SPAN style="COLOR: #606060"&gt;  10:&lt;/SPAN&gt;             DefaultStyleKeyProperty.OverrideMetadata(&lt;SPAN style="COLOR: #0000ff"&gt;typeof&lt;/SPAN&gt;(CustomControl1), &lt;SPAN style="COLOR: #0000ff"&gt;new&lt;/SPAN&gt; FrameworkPropertyMetadata(&lt;SPAN style="COLOR: #0000ff"&gt;typeof&lt;/SPAN&gt;(CustomControl1)));&lt;/PRE&gt;&lt;PRE style="PADDING-RIGHT: 0px; PADDING-LEFT: 0px; FONT-SIZE: 8pt; PADDING-BOTTOM: 0px; MARGIN: 0em; OVERFLOW: visible; WIDTH: 100%; COLOR: black; BORDER-TOP-STYLE: none; LINE-HEIGHT: 12pt; PADDING-TOP: 0px; FONT-FAMILY: consolas, 'Courier New', courier, monospace; BORDER-RIGHT-STYLE: none; BORDER-LEFT-STYLE: none; BACKGROUND-COLOR: white; BORDER-BOTTOM-STYLE: none"&gt;&lt;SPAN style="COLOR: #606060"&gt;  11:&lt;/SPAN&gt;         }&lt;/PRE&gt;&lt;PRE style="PADDING-RIGHT: 0px; PADDING-LEFT: 0px; FONT-SIZE: 8pt; PADDING-BOTTOM: 0px; MARGIN: 0em; OVERFLOW: visible; WIDTH: 100%; COLOR: black; BORDER-TOP-STYLE: none; LINE-HEIGHT: 12pt; PADDING-TOP: 0px; FONT-FAMILY: consolas, 'Courier New', courier, monospace; BORDER-RIGHT-STYLE: none; BORDER-LEFT-STYLE: none; BACKGROUND-COLOR: #f4f4f4; BORDER-BOTTOM-STYLE: none"&gt;&lt;SPAN style="COLOR: #606060"&gt;  12:&lt;/SPAN&gt;     }&lt;/PRE&gt;&lt;PRE style="PADDING-RIGHT: 0px; PADDING-LEFT: 0px; FONT-SIZE: 8pt; PADDING-BOTTOM: 0px; MARGIN: 0em; OVERFLOW: visible; WIDTH: 100%; COLOR: black; BORDER-TOP-STYLE: none; LINE-HEIGHT: 12pt; PADDING-TOP: 0px; FONT-FAMILY: consolas, 'Courier New', courier, monospace; BORDER-RIGHT-STYLE: none; BORDER-LEFT-STYLE: none; BACKGROUND-COLOR: white; BORDER-BOTTOM-STYLE: none"&gt;&lt;SPAN style="COLOR: #606060"&gt;  13:&lt;/SPAN&gt; }&lt;/PRE&gt;&lt;/DIV&gt;&lt;/DIV&gt;Para saber mais sobre a customização de novos controles em WPF, veja o artigo:&lt;/UL&gt;
&lt;UL&gt;
&lt;P&gt;&lt;STRONG&gt;Control Authoring Overview&lt;/STRONG&gt; &lt;BR&gt;Ref.: &lt;A href="http://msdn.microsoft.com/en-us/library/ms745025.aspx" target=_blank rel=nofollow mce_href="http://msdn.microsoft.com/en-us/library/ms745025.aspx"&gt;http://msdn.microsoft.com/en-us/library/ms745025.aspx&lt;/A&gt; &lt;BR&gt;&lt;/P&gt;&lt;/UL&gt;
&lt;UL&gt;&lt;/UL&gt;
&lt;P&gt;Bom, já deu para notar que temos muitas opções disponíveis para nossas interfaces, não é mesmo?&lt;/P&gt;
&lt;P&gt;Ainda falta falar de &lt;STRONG&gt;ASP.NET com AJAX, ASP.NET com Silverlight, ASP.NET MVC&lt;/STRONG&gt;, entre outros modelos de interface que também são grandes opções. O &lt;STRONG&gt;Silverlight 3&lt;/STRONG&gt; também foi anunciado semana passada, durante o MIX09 e promete grandes novidades. &lt;/P&gt;
&lt;P&gt;Mas vamos deixar esses assuntos para um próximo post. Aguardem!&lt;/P&gt;
&lt;P&gt;Por enquanto é só! Até o próximo post :)&lt;/P&gt;
&lt;P&gt;Waldemir.&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9514780" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/wcamb/archive/tags/Arquitetura+de+Solu_26002300_231_3B0026002300_245_3B00_es/default.aspx">Arquitetura de Solu&amp;#231;&amp;#245;es</category><category domain="http://blogs.msdn.com/wcamb/archive/tags/Silverlight/default.aspx">Silverlight</category></item></channel></rss>