<?xml version='1.0' encoding='UTF-8'?><rss xmlns:atom="http://www.w3.org/2005/Atom" xmlns:openSearch="http://a9.com/-/spec/opensearchrss/1.0/" xmlns:blogger="http://schemas.google.com/blogger/2008" xmlns:georss="http://www.georss.org/georss" xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr="http://purl.org/syndication/thread/1.0" version="2.0"><channel><atom:id>tag:blogger.com,1999:blog-2720906137796848741</atom:id><lastBuildDate>Thu, 17 Sep 2015 05:20:59 +0000</lastBuildDate><category>.NET</category><category>Visual Studio 2010</category><category>Framework 4.0</category><category>Silverlight 2</category><category>Silverlight 3</category><category>C#</category><category>ASP.NET</category><category>WPF</category><category>C# 4.0</category><category>3D</category><category>IE8</category><category>Silverlight 3 RTM</category><category>Silverlight 4</category><category>google</category><category>grátis</category><category>html</category><category>intellisense</category><category>java</category><category>trecho de código</category><category>2310</category><category>Acid3</category><category>Beta Exam</category><category>Breaking Changes</category><category>Certificado</category><category>Certificação Microsoft</category><category>Curso</category><category>Formatação</category><category>IE9</category><category>Mix</category><category>Office 2010</category><category>Visual Studio</category><category>Web 2.0</category><category>X-UA-Compatible</category><category>ajax</category><category>código fonte</category><category>gizmocall</category><category>open source</category><category>server control</category><category>tag</category><category>vídeo</category><category>.</category><category>.NET Framework 4.5</category><category>.NET RIA Services</category><category>2009</category><category>70-562</category><category>AIM</category><category>Acid2</category><category>Aero Peak</category><category>Ano novo</category><category>App_Themes</category><category>Beta 2</category><category>Binding</category><category>Blur Effect</category><category>Boot from VHD</category><category>Breakpoint</category><category>Brian Keller</category><category>Build</category><category>CTP;Drew Robbins; Visual Studio 2010; Framework 4.0;Quick Search;WPF</category><category>Call Stack</category><category>Centro de Inovação</category><category>ChildWindow</category><category>Compatible</category><category>CopySourceAsHtml</category><category>DLR</category><category>DVD</category><category>DataGrid</category><category>Decrypter</category><category>Deep Linking</category><category>DefaultButton</category><category>DefaultFocus</category><category>Developer Tools</category><category>Download assíncrono</category><category>DownloadProgress</category><category>Drop Shadow</category><category>ECMAScript5</category><category>EmulateIE7</category><category>Entity Framework 4.0</category><category>Event</category><category>Excel</category><category>Extension Methods</category><category>F#</category><category>Firebug</category><category>FullScreen</category><category>GizmoSMS</category><category>Globo</category><category>GradientBrush</category><category>GridView</category><category>HTML5</category><category>HtmlPage</category><category>ICQ</category><category>ISO</category><category>InternalsVisibleToAttribute</category><category>JVM</category><category>Linq</category><category>MCP</category><category>MCTS</category><category>MSDN Magazine</category><category>MSN</category><category>MasterPage</category><category>MasterType</category><category>Matrix3DProjection</category><category>Meebo</category><category>Modificadores de Acesso</category><category>Mouse Wheel</category><category>Ms-PL</category><category>Multi Touch</category><category>Named Parameters</category><category>Office 2010 The Movie</category><category>Optional Parameters</category><category>Out Of Browser</category><category>Overview</category><category>PUCRS</category><category>Pixel Effect</category><category>PlaneProjection</category><category>Poster</category><category>Premium</category><category>Primeira</category><category>Professional</category><category>ProgressState</category><category>ProgressValue</category><category>Projection</category><category>RTM</category><category>RTW</category><category>Reflector</category><category>Release Candidate</category><category>SDK</category><category>SEO</category><category>SMS</category><category>Scott Hanselman&#39;s</category><category>Shrink</category><category>Silverlight Navigation</category><category>Silverlight Spy</category><category>Site Pinning</category><category>Sobrecarga</category><category>Spiderman 3</category><category>Splash Screen</category><category>Street View</category><category>TaskbarItemInfo</category><category>ThumbButtonInfos</category><category>ThumbnailClipMargin</category><category>Tim Heuer</category><category>Toolkit</category><category>Traffic</category><category>Tuples</category><category>Twitter</category><category>Ultimate</category><category>VOIP</category><category>Visual Basic</category><category>Visual Studio 11</category><category>Web Standarts</category><category>Web.config</category><category>WebClient</category><category>Windows 7</category><category>Windows Identity Foundation</category><category>Windows Live Essentials</category><category>Yahoo</category><category>aplicação</category><category>celular</category><category>code snippets</category><category>css</category><category>curriculo</category><category>currículo</category><category>dynamic</category><category>e-mail</category><category>escopo</category><category>exportação</category><category>filme</category><category>fisl</category><category>história</category><category>ibm</category><category>id href</category><category>internal</category><category>ligação</category><category>localizar</category><category>mapas</category><category>mapplet</category><category>maps</category><category>notify</category><category>relatorio</category><category>rippar</category><category>runat</category><category>sender</category><category>software livre</category><category>static</category><category>strongly typed</category><category>table</category><category>tableless</category><category>trailer</category><category>treço de código</category><category>wishlist</category><title>Vitor Canova.NET</title><description>&lt;i&gt;&quot;Podem lhe tirar seus bens, podem lhe tirar sua família, podem lhe tirar até sua vida. A única coisa que não podem lhe tirar é o conhecimento.&quot;&lt;/I&gt;</description><link>http://blog.vitorcanova.net/</link><managingEditor>noreply@blogger.com (Vitor Canova)</managingEditor><generator>Blogger</generator><openSearch:totalResults>75</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><item><guid isPermaLink="false">tag:blogger.com,1999:blog-2720906137796848741.post-7773590913036532954</guid><pubDate>Thu, 15 Sep 2011 01:46:00 +0000</pubDate><atom:updated>2011-09-14T22:46:09.545-03:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">.NET</category><category domain="http://www.blogger.com/atom/ns#">.NET Framework 4.5</category><category domain="http://www.blogger.com/atom/ns#">Build</category><category domain="http://www.blogger.com/atom/ns#">Visual Studio</category><category domain="http://www.blogger.com/atom/ns#">Visual Studio 11</category><title>Visual Studio 11 e .NET Framework 4.5 Developer Preview</title><description>&lt;p&gt;Com o lançamento do &lt;a href=&quot;http://msdn.microsoft.com/en-us/windows/apps/br229516&quot; target=&quot;_blank&quot;&gt;Windows 8 Developer Preview&lt;/a&gt;&lt;a href=&quot;http://lh4.ggpht.com/-Z88WkVrig1c/TnFY3rYwXuI/AAAAAAAACJo/V-ty91PuwXU/s1600-h/build_logo%25255B8%25255D.png&quot;&gt;&lt;img style=&quot;background-image: none; border-right-width: 0px; margin: 10px 0px 0px 10px; padding-left: 0px; padding-right: 0px; display: inline; float: right; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px&quot; title=&quot;build_logo&quot; border=&quot;0&quot; alt=&quot;build_logo&quot; align=&quot;right&quot; src=&quot;http://lh4.ggpht.com/-jxchJdNdjxE/TnFY4HPyIyI/AAAAAAAACJs/8orCLTa4gtQ/build_logo_thumb%25255B4%25255D.png?imgmax=800&quot; width=&quot;240&quot; height=&quot;86&quot; /&gt;&lt;/a&gt;&lt;/a&gt; ontem no evento &lt;a href=&quot;http://www.buildwindows.com/&quot; target=&quot;_blank&quot;&gt;//Build/ Windows&lt;/a&gt; a Microsoft mostrou porque é a número um em sistemas operacionais. &lt;/p&gt;  &lt;p&gt;Mas um sistema operacional não é nada sem aplicativos e, diga-se de passagem, o Windows 8 já tem sua plataforma de desenvolvimento bem amparada.&lt;/p&gt;  &lt;p&gt;É que junto com o lançamento a Microsoft também disponibilizou &lt;img style=&quot;background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: right; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px&quot; border=&quot;0&quot; align=&quot;right&quot; src=&quot;http://news.softpedia.com/images/news-hot/Download-Visual-Studio-2010-RTM-and-NET-Framework-4-RTM-Today-h2.png&quot; /&gt;uma versão Preview do Visual Studio 11 e do .NET Framework 4.5.&lt;/p&gt;  &lt;p&gt;Ainda é cedo para tirar conclusões e se tratando de uma versão Preview (pré beta) existem possibilidades de mudanças. A documentação da &lt;a href=&quot;http://msdn.microsoft.com/&quot; target=&quot;_blank&quot;&gt;MSDN&lt;/a&gt; ainda não está 100% consistente, alguns links fazem referência a novidades do atual Framework 4 e é fácil se perder no que é novo ou não.&lt;/p&gt;  &lt;p&gt;Mesmo assim acho que vale a pena dar um conferida. Então seguem os links interessantes:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;a href=&quot;http://msdn.microsoft.com/en-us/vstudio/hh127353&quot; target=&quot;_blank&quot;&gt;Download do Visual Studio 11&lt;/a&gt; (Hoje somente para assinaturas MSDN, estará disponível para o público em geral a partir do dia 16) &lt;/li&gt;    &lt;li&gt;&lt;a href=&quot;http://msdn.microsoft.com/en-us/library/hh156499(VS.110).aspx&quot; target=&quot;_blank&quot;&gt;What&#39;s New for Visual C# in Visual Studio 11 Developer Preview&lt;/a&gt;&amp;#160; &lt;/li&gt;    &lt;li&gt;&lt;a href=&quot;http://msdn.microsoft.com/en-us/library/ms171868(VS.110).aspx&quot; target=&quot;_blank&quot;&gt;What&#39;s New in the .NET Framework 4.5 Developer Preview&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href=&quot;http://msdn.microsoft.com/en-us/library/hh420390(VS.110).aspx&quot; target=&quot;_blank&quot;&gt;What’s New for ASP.NET 4.5 and Web Development in Visual Studio 11 Developer Preview&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href=&quot;http://msdn.microsoft.com/en-us/library/bb613588(VS.110).aspx&quot; target=&quot;_blank&quot;&gt;What&#39;s New in WPF Version 4.5 Developer Preview&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href=&quot;http://msdn.microsoft.com/en-us/library/dd456789(VS.110).aspx&quot; target=&quot;_blank&quot;&gt;What&#39;s New in Windows Communication Foundation 4.5 Developer Preview&lt;/a&gt; &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;Enjoy&lt;/p&gt;  </description><link>http://blog.vitorcanova.net/2011/09/visual-studio-11-e-net-framework-45.html</link><author>noreply@blogger.com (Vitor Canova)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://lh4.ggpht.com/-jxchJdNdjxE/TnFY4HPyIyI/AAAAAAAACJs/8orCLTa4gtQ/s72-c/build_logo_thumb%25255B4%25255D.png?imgmax=800" height="72" width="72"/><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-2720906137796848741.post-8139464424350557581</guid><pubDate>Sun, 28 Aug 2011 20:10:00 +0000</pubDate><atom:updated>2011-08-28T17:10:37.968-03:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">.NET</category><category domain="http://www.blogger.com/atom/ns#">C# 4.0</category><category domain="http://www.blogger.com/atom/ns#">WebClient</category><title>WebClient com Timeout</title><description>&lt;p&gt;Algum tempo atrás iniciei um projeto que precisava fazer requisições HTTP para páginas Web e tratar seu resultado. Dentre as alternativas para isso resolvi escolher o &lt;a href=&quot;http://msdn.microsoft.com/en-us/library/system.net.webclient.aspx&quot; target=&quot;_blank&quot;&gt;WebClient&lt;/a&gt; por ser bem simples e resolver o problema que eu tinha em mãos de forma bem prática.&lt;/p&gt;  &lt;div style=&quot;padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px&quot; id=&quot;scid:9D7513F9-C04C-4721-824A-2B34F0212519:a75364be-4e2a-45e6-ae01-b01454c72851&quot; class=&quot;wlWriterEditableSmartContent&quot;&gt;&lt;pre style=&quot; width: 386px; height: 86px;background-color:White;overflow: visible;&quot;&gt;&lt;div&gt;&lt;!--

Code highlighting produced by Actipro CodeHighlighter (freeware)
http://www.CodeHighlighter.com/

--&gt;&lt;span style=&quot;color: #000000;&quot;&gt;WebClient client &lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #0000FF;&quot;&gt;new&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt; WebClient();
&lt;/span&gt;&lt;span style=&quot;color: #0000FF;&quot;&gt;string&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt; reply &lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt; client.DownloadString(&lt;/span&gt;&lt;span style=&quot;color: #800000;&quot;&gt;&amp;quot;&lt;/span&gt;&lt;span style=&quot;color: #800000;&quot;&gt;[Url]&lt;/span&gt;&lt;span style=&quot;color: #800000;&quot;&gt;&amp;quot;&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;);

Console.WriteLine(reply);
&lt;/span&gt;&lt;/div&gt;&lt;/pre&gt;&lt;!-- Code inserted with Steve Dunn&#39;s Windows Live Writer Code Formatter Plugin.  http://dunnhq.com --&gt;&lt;/div&gt;

&lt;p&gt;Este classe conta também com vários métodos para tratamento de forma assíncrona bem como suporte a comandos menos comuns como &lt;strong&gt;STOR&lt;/strong&gt; (utilizado em FTP).&lt;/p&gt;

&lt;p&gt;Mas nem tudo deu tão certo. Durante o desenvolvimento acabei verificando que o site em questão podia demorar bastante tempo para responder e que esse era um comportamento padrão do mesmo. Ou seja, eu teria que tratar isto de alguma forma, esperando mais tempo pelo resultado da requisição HTTP.&lt;/p&gt;

&lt;p&gt;Nesse momento praticamente me vi forçado a utilizar classes mais complexas como as derivadas de &lt;a href=&quot;http://msdn.microsoft.com/en-us/library/system.net.webrequest.aspx&quot; target=&quot;_blank&quot;&gt;WebRequest&lt;/a&gt; e &lt;a href=&quot;http://msdn.microsoft.com/en-us/library/system.net.webresponse.aspx&quot; target=&quot;_blank&quot;&gt;WebResponse&lt;/a&gt; por causa da falta de suporte a definição do tempo de Timeout na classe WebClient.&lt;/p&gt;

&lt;p&gt;Resolvi dar mais uma espiada na &lt;img style=&quot;background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: right; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px&quot; title=&quot;50355_154915967879761_4814825_n&quot; border=&quot;0&quot; alt=&quot;50355_154915967879761_4814825_n&quot; align=&quot;right&quot; src=&quot;http://lh5.ggpht.com/-kuouBG_usRY/TlqgvPkG2rI/AAAAAAAACIs/o6OQz4x3x5A/50355_154915967879761_4814825_n%25255B5%25255D.jpg?imgmax=800&quot; width=&quot;112&quot; height=&quot;36&quot; /&gt;documentação do &lt;a href=&quot;http://msdn.microsoft.com/&quot; target=&quot;_blank&quot;&gt;MSDN&lt;/a&gt; e vi que poderia resolver isso de forma bem fácil graças a orientação a objetos.&lt;/p&gt;

&lt;p&gt;Bastou herdar a classe WebClient e fazer um &lt;a href=&quot;http://msdn.microsoft.com/en-us/library/ebca9ah3.aspx&quot; target=&quot;_blank&quot;&gt;override&lt;/a&gt; do método protected &lt;a href=&quot;http://msdn.microsoft.com/en-us/library/system.net.webclient.getwebrequest.aspx&quot; target=&quot;_blank&quot;&gt;GetWebRequest&lt;/a&gt;. Ali mesmo pude definir o meu timeout. Basicamente assim:&lt;/p&gt;

&lt;div style=&quot;padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px&quot; id=&quot;scid:9D7513F9-C04C-4721-824A-2B34F0212519:fc69b9ea-2dca-4436-b017-faf3e2e974fb&quot; class=&quot;wlWriterEditableSmartContent&quot;&gt;&lt;pre style=&quot; width: 448px; height: 121px;background-color:White;overflow: visible;&quot;&gt;&lt;div&gt;&lt;!--

Code highlighting produced by Actipro CodeHighlighter (freeware)
http://www.CodeHighlighter.com/

--&gt;&lt;span style=&quot;color: #0000FF;&quot;&gt;protected&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #0000FF;&quot;&gt;override&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt; WebRequest GetWebRequest(Uri address)
{
  var request &lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #0000FF;&quot;&gt;base&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;.GetWebRequest(address);
  request.Timeout &lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #800080;&quot;&gt;60&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;;&lt;/span&gt;&lt;span style=&quot;color: #008000;&quot;&gt;//&lt;/span&gt;&lt;span style=&quot;color: #008000;&quot;&gt;Timeout que quiser.&lt;/span&gt;&lt;span style=&quot;color: #008000;&quot;&gt;
&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;  &lt;/span&gt;&lt;span style=&quot;color: #0000FF;&quot;&gt;return&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt; request;
}&lt;/span&gt;&lt;/div&gt;&lt;/pre&gt;&lt;!-- Code inserted with Steve Dunn&#39;s Windows Live Writer Code Formatter Plugin.  http://dunnhq.com --&gt;&lt;/div&gt;

&lt;p&gt;Claro que esta é apenas uma amostra do que pode ser feito, mas num caso real é apropriado colocar este valor em uma propriedade ou até mesmo definir no construtor da sua classe. Minha implementação completa pode ser encontrada neste link: &lt;a href=&quot;https://docs.google.com/leaf?id=0B802hB2GPD9sMzZmZjNjMjktMTM2OC00OGNmLTg0MzMtMDg0OWU4MmIxZWI4&amp;amp;hl=en_US&quot; target=&quot;_blank&quot;&gt;WebClientExtended&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Enjoy&lt;/p&gt;  </description><link>http://blog.vitorcanova.net/2011/08/webclient-com-timeout.html</link><author>noreply@blogger.com (Vitor Canova)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://lh5.ggpht.com/-kuouBG_usRY/TlqgvPkG2rI/AAAAAAAACIs/o6OQz4x3x5A/s72-c/50355_154915967879761_4814825_n%25255B5%25255D.jpg?imgmax=800" height="72" width="72"/><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-2720906137796848741.post-103420753001678288</guid><pubDate>Sun, 20 Feb 2011 16:46:00 +0000</pubDate><atom:updated>2011-02-20T14:06:38.817-03:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Aero Peak</category><category domain="http://www.blogger.com/atom/ns#">ProgressState</category><category domain="http://www.blogger.com/atom/ns#">ProgressValue</category><category domain="http://www.blogger.com/atom/ns#">TaskbarItemInfo</category><category domain="http://www.blogger.com/atom/ns#">ThumbButtonInfos</category><category domain="http://www.blogger.com/atom/ns#">ThumbnailClipMargin</category><category domain="http://www.blogger.com/atom/ns#">WPF</category><title>Recursos do Windows 7 para WPF</title><description>Com a chegada do Windows 7 vários novos recursos foram disponibilizados aos desenvolvedores. &lt;em&gt;Preview&lt;/em&gt; da janela,&lt;a href=&quot;http://lh6.ggpht.com/_wPtp44I7-rc/TWFFSLUgJfI/AAAAAAAACFI/moBCw2cp4ic/s1600-h/Aero%20Peak%5B3%5D.jpg&quot; target=&quot;_blank&quot;&gt;&lt;img align=&quot;right&quot; alt=&quot;Aero Peak&quot; border=&quot;0&quot; height=&quot;116&quot; src=&quot;http://lh3.ggpht.com/_wPtp44I7-rc/TWFFShE3MQI/AAAAAAAACFM/L6EtWS5o-30/Aero%20Peak_thumb%5B1%5D.jpg?imgmax=800&quot; style=&quot;background-image: none; border: 0px currentColor; display: inline; float: right; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot; title=&quot;Aero Peak&quot; width=&quot;280&quot; /&gt;&lt;/a&gt; botões de controle na barra de tarefas e notificações diretamente no ícone.&lt;br /&gt;
Logo no lançamento do Windows 7 era bastante complicado, se perdia muito tempo aprendendo as novas API do SDK com &lt;em&gt;wrappers&lt;/em&gt; para o &lt;strong&gt;WPF&lt;/strong&gt;. Realmente perdíamos bastante tempo mesmo que fosse apenas pra colocar um botão no &lt;em&gt;Preview&lt;/em&gt; da barra de tarefas.&lt;br /&gt;
Com a chegada do &lt;a href=&quot;http://msdn.microsoft.com/en-us/library/bb613588.aspx#wpf_and_windows&quot; target=&quot;_blank&quot; title=&quot;What&#39;s new in WPF 4&quot;&gt;WPF 4&lt;/a&gt; isso tudo ficou muito mais fácil. Através da propriedade &lt;a href=&quot;http://msdn.microsoft.com/en-us/library/system.windows.shell.taskbariteminfo.aspx&quot; target=&quot;_blank&quot; title=&quot;System.Windows.Shell.TaskbarItemInfo&quot;&gt;TaskbarItemInfo&lt;/a&gt; da &lt;a href=&quot;http://msdn.microsoft.com/en-us/library/system.windows.window.aspx&quot; target=&quot;_blank&quot; title=&quot;System.Windows.Window&quot;&gt;Window&lt;/a&gt; podemos ter acesso a esta grande API do Windows 7 e aprimorar ainda mais a experiência do usuário.&lt;br /&gt;
&lt;h5&gt;TaskbarItemInfo&lt;/h5&gt;Esta propriedade permite que possamos interagir com o ícone da nossa aplicação na barra de tarefas. As seguintes propriedades nos proporcionam essa facilidade:&lt;br /&gt;
&lt;ul&gt;&lt;li&gt;&lt;em&gt;Description&lt;/em&gt;: Descrição que aparecerá acima do &lt;em&gt;Preview&lt;/em&gt; do &lt;a href=&quot;http://windows.microsoft.com/en-US/windows7/preview-an-open-window-on-the-desktop-using-peek&quot; target=&quot;_blank&quot;&gt;Aero Peak&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;&lt;em&gt;Overlay&lt;/em&gt;: Define uma imagem que aparecerá na mesma posição do ícone da barra de tarefas. Isso nos permite mostrar informações mesmo quando a aplicação está no plano de fundo e o usuário está executando outras ações em outros programas.&lt;/li&gt;
&lt;li&gt;&lt;em&gt;ThumbnailClipMargin&lt;/em&gt;: Se não quisermos mostrar no &lt;em&gt;Aero Peak&lt;/em&gt;&lt;a href=&quot;http://lh5.ggpht.com/_wPtp44I7-rc/TWFFT4k81GI/AAAAAAAACFQ/_8rNlhlZqnQ/s1600-h/Preview%20parcial%20do%20Video%20Player%5B7%5D.png&quot; target=&quot;_blank&quot;&gt;&lt;img align=&quot;right&quot; alt=&quot;Preview parcial do Video Player&quot; border=&quot;0&quot; height=&quot;77&quot; src=&quot;http://lh3.ggpht.com/_wPtp44I7-rc/TWFFUUV0jrI/AAAAAAAACFU/VeBgtMuK0AI/Preview%20parcial%20do%20Video%20Player_thumb%5B3%5D.png?imgmax=800&quot; style=&quot;background-image: none; border: 0px currentColor; display: inline; float: right; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot; title=&quot;Preview parcial do Video Player&quot; width=&quot;90&quot; /&gt;&lt;/a&gt; a visualização completa de nossa aplicação podemos definir através dessa propriedade qual parte deve ser mostrada no &lt;em&gt;Preview&lt;/em&gt;.&lt;/li&gt;
&lt;ul&gt;&lt;/ul&gt;&lt;li&gt;&lt;em&gt;ProgressState&lt;/em&gt;: Indica o estado da aplicação. Podemos definir&lt;a href=&quot;http://lh6.ggpht.com/_wPtp44I7-rc/TWFFU1A1kfI/AAAAAAAACFY/LwVjrHGYqeU/s1600-h/Visual%20Studio%20ap%C3%B3s%20carregar%20um%20projeto%5B3%5D.png&quot; target=&quot;_blank&quot;&gt;&lt;img align=&quot;right&quot; alt=&quot;Visual Studio após carregar um projeto&quot; border=&quot;0&quot; height=&quot;40&quot; src=&quot;http://lh5.ggpht.com/_wPtp44I7-rc/TWFFVQU2BTI/AAAAAAAACFc/McO4E2jzsy0/Visual%20Studio%20ap%C3%B3s%20carregar%20um%20projeto_thumb%5B1%5D.png?imgmax=800&quot; style=&quot;background-image: none; border: 0px currentColor; display: inline; float: right; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot; title=&quot;Visual Studio após carregar um projeto&quot; width=&quot;60&quot; /&gt;&lt;/a&gt; esta propriedade de modo que avise o usuário que está sendo processada uma tarefa em tempo indeterminado, que ocorreu um erro ou a aplicação está parada e requer sua atenção.&lt;/li&gt;
&lt;li&gt;&lt;em&gt;ProgressValue&lt;/em&gt;: Utilizada quando se sabe o progresso de uma&lt;a href=&quot;http://lh3.ggpht.com/_wPtp44I7-rc/TWFFV-2Ko8I/AAAAAAAACFg/06PIzuOfkbo/s1600-h/Progresso%20de%20Download%20no%20Internet%20Explorer%5B12%5D.png&quot; target=&quot;_blank&quot;&gt;&lt;img align=&quot;right&quot; alt=&quot;Progresso de Download no Internet Explorer&quot; border=&quot;0&quot; height=&quot;40&quot; src=&quot;http://lh3.ggpht.com/_wPtp44I7-rc/TWFFWAhVFEI/AAAAAAAACFk/gR_7eiFQU6A/Progresso%20de%20Download%20no%20Internet%20Explorer_thumb%5B10%5D.png?imgmax=800&quot; style=&quot;background-image: none; border: 0px currentColor; display: inline; float: right; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot; title=&quot;Progresso de Download no Internet Explorer&quot; width=&quot;52&quot; /&gt;&lt;/a&gt; atividade e se quer mostrar na barra de tarefas. É muito semelhante a um &lt;em&gt;ProgressBar&lt;/em&gt; que não esteja sendo utilizado como &lt;em&gt;Indeterminate&lt;/em&gt;.&lt;/li&gt;
&lt;li&gt;&lt;em&gt;ThumbButtonInfos&lt;/em&gt;: Aqui podemos colocar vários botões que,&lt;a href=&quot;http://lh5.ggpht.com/_wPtp44I7-rc/TWFFWi_9wkI/AAAAAAAACFo/IIygVxqPSXE/s1600-h/Aero%20Peak%5B5%5D.png&quot; target=&quot;_blank&quot;&gt;&lt;img align=&quot;right&quot; alt=&quot;Botões de controle do Media Player&quot; border=&quot;0&quot; height=&quot;69&quot; src=&quot;http://lh3.ggpht.com/_wPtp44I7-rc/TWFFXI8lNAI/AAAAAAAACFs/ePhfjfDi6Zk/Aero%20Peak_thumb%5B3%5D.png?imgmax=800&quot; style=&quot;background-image: none; border: 0px currentColor; display: inline; float: right; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot; title=&quot;Botões de controle do Media Player&quot; width=&quot;63&quot; /&gt;&lt;/a&gt; através do &lt;em&gt;Aero Peak,&lt;/em&gt; façam com que o usuário interaja com a aplicação mesmo ela estando no plano de fundo. Podem ser visualizados até 7 botões ao mesmo tempo.&lt;/li&gt;
&lt;/ul&gt;Fiz uma pequena aplicação conceito para aplicar tudo isso.&lt;a href=&quot;http://lh3.ggpht.com/_wPtp44I7-rc/TWFFYm83GhI/AAAAAAAACFw/akW_KPmkgLM/s1600-h/Video%20Player%5B4%5D.png&quot; target=&quot;_blank&quot;&gt;&lt;img align=&quot;right&quot; alt=&quot;Video Player&quot; border=&quot;0&quot; height=&quot;90&quot; src=&quot;http://lh4.ggpht.com/_wPtp44I7-rc/TWFFZfqJNJI/AAAAAAAACF0/2bJx4sFqoAA/Video%20Player_thumb%5B2%5D.png?imgmax=800&quot; style=&quot;background-image: none; border: 0px currentColor; display: inline; float: right; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot; title=&quot;Video Player&quot; width=&quot;114&quot; /&gt;&lt;/a&gt; Criei um &lt;em&gt;Video Player&lt;/em&gt; que busca um vídeo via &lt;em&gt;Streaming&lt;/em&gt; do &lt;em&gt;Channel9&lt;/em&gt;. Utilizei o &lt;em&gt;TaskbarItemInfo&lt;/em&gt; da seguinte forma:&lt;br /&gt;
&lt;ul&gt;&lt;li&gt;Utilizei a barra de progresso na barra de tarefas para mostrar enquanto ainda está sendo feito buffer do vídeo.&lt;/li&gt;
&lt;li&gt;Quando o vídeo começar a rodar coloco um &lt;em&gt;Overlay&lt;/em&gt; na barra de tarefas semelhante a um botão &lt;em&gt;Play&lt;/em&gt;.&lt;/li&gt;
&lt;li&gt;Defini que no &lt;em&gt;Preview&lt;/em&gt; do &lt;em&gt;Aero Peak&lt;/em&gt; só mostraria a parte do vídeo e não os controles.&lt;/li&gt;
&lt;li&gt;Adicionei um botão para fechar diretamente no &lt;em&gt;Preview&lt;/em&gt; (eu sei, é redundante, mas é só pra mostrar o conceito).&lt;/li&gt;
&lt;/ul&gt;Para adicionar toda essa funcionalidade a minha aplicação não levei mais do que alguns minutos. Demora mais pra achar imagens legais e tal. Mas acho que deu pra entender a ideia. O &lt;em&gt;XAML&lt;/em&gt; que tive que adicionar é o seguinte:&lt;br /&gt;
&lt;div class=&quot;wlWriterEditableSmartContent&quot; id=&quot;scid:9D7513F9-C04C-4721-824A-2B34F0212519:82863248-e86f-41e8-8554-93044b2e64f7&quot; style=&quot;display: inline; float: none; margin: 0px; padding: 0px;&quot;&gt;&lt;pre style=&quot;background-color: white; height: 270px; overflow: hidden; width: 400px;&quot;&gt;&lt;div&gt;&lt;span style=&quot;color: blue;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: maroon;&quot;&gt;Window.TaskbarItemInfo&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: black;&quot;&gt;
  &lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: maroon;&quot;&gt;TaskbarItemInfo &lt;/span&gt;&lt;span style=&quot;color: red;&quot;&gt;x:Name&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;=&quot;StatusTaskbarItemInfo&quot;&lt;/span&gt;&lt;span style=&quot;color: red;&quot;&gt;
    ProgressState&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;=&quot;Indeterminate&quot;&lt;/span&gt;&lt;span style=&quot;color: red;&quot;&gt;
    Description&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;=&quot;Video Player&quot;&lt;/span&gt;&lt;span style=&quot;color: red;&quot;&gt;
    ThumbnailClipMargin&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;=&quot;15,54,17,75&quot;&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: black;&quot;&gt;
    &lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: maroon;&quot;&gt;TaskbarItemInfo.ThumbButtonInfos&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: black;&quot;&gt;
      &lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: maroon;&quot;&gt;ThumbButtonInfo &lt;/span&gt;&lt;span style=&quot;color: red;&quot;&gt;Description&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;=&quot;Fechar&quot;&lt;/span&gt;&lt;span style=&quot;color: red;&quot;&gt;
        Click&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;=&quot;ThumbButtonInfo_Click&quot;&lt;/span&gt;&lt;span style=&quot;color: red;&quot;&gt;
        ImageSource&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;=&quot;...sua imagem aqui...&quot;&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: black;&quot;&gt;
      &lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: maroon;&quot;&gt;ThumbButtonInfo&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: black;&quot;&gt;
    &lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: maroon;&quot;&gt;TaskbarItemInfo.ThumbButtonInfos&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: black;&quot;&gt;
  &lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: maroon;&quot;&gt;TaskbarItemInfo&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: black;&quot;&gt;
&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: maroon;&quot;&gt;Window.TaskbarItemInfo&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;/pre&gt;&lt;/div&gt;O código do exemplo bem como uma aplicação pronta (ClickOnce) pode ser encontrados &lt;a href=&quot;http://www.vitorcanova.net/WPF/VideoPlayer/&quot; target=&quot;_blank&quot;&gt;aqui&lt;/a&gt;.&lt;br /&gt;
Enjoy</description><link>http://blog.vitorcanova.net/2011/02/recursos-do-windows-7-para-wpf.html</link><author>noreply@blogger.com (Vitor Canova)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://lh3.ggpht.com/_wPtp44I7-rc/TWFFShE3MQI/AAAAAAAACFM/L6EtWS5o-30/s72-c/Aero%20Peak_thumb%5B1%5D.jpg?imgmax=800" height="72" width="72"/><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-2720906137796848741.post-3061519275510759190</guid><pubDate>Mon, 24 Jan 2011 01:20:00 +0000</pubDate><atom:updated>2011-01-23T23:20:20.990-02:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">.NET</category><category domain="http://www.blogger.com/atom/ns#">Splash Screen</category><category domain="http://www.blogger.com/atom/ns#">WPF</category><title>WPF com Splash Screen</title><description>&lt;p&gt;Desde sempre estamos acostumados a aplicações que precisam de um tempo de espera relativamente grande para iniciar. Isso aconteceu e ainda acontece com aplicações &lt;strong&gt;WIN32&lt;/strong&gt; que ao iniciarem precisam de uma grande quantidade de arquivos carregados na memória.&lt;/p&gt;  &lt;p&gt;Já se foi o tempo onde o &lt;strong&gt;.NET&lt;/strong&gt; era muito lento para carregar. Época em que tínhamos computadores com menos de 1GB de RAM e apenas um processador e núcleo com menos de 1GHz. Não me refiro a aplicação rodando mas sim o tempo que demorava para carregar na memória as DLL do Framework e aplicação num &lt;em&gt;Cold Start.&lt;/em&gt; Mas mesmo assim, hoje ainda não é instantâneo.&lt;/p&gt;  &lt;p&gt;Uma solução que aumenta a experiência do usuário é&lt;a href=&quot;http://lh3.ggpht.com/_wPtp44I7-rc/TTzTwG9OWvI/AAAAAAAACEs/b0IDiSt4syQ/s1600-h/Windows-Live-Writer13.png&quot; target=&quot;_blank&quot;&gt;&lt;img style=&quot;background-image: none; border-right-width: 0px; margin: ; padding-left: 0px; padding-right: 0px; display: inline; float: right; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px&quot; title=&quot;Splash Screen do Windows Live Writer&quot; border=&quot;0&quot; alt=&quot;Splash Screen do Windows Live Writer&quot; align=&quot;right&quot; src=&quot;http://lh3.ggpht.com/_wPtp44I7-rc/TTzTwjv4lNI/AAAAAAAACEw/oF5_Z96_ZKA/Windows-Live-Writer_thumb18.png?imgmax=800&quot; width=&quot;116&quot; height=&quot;79&quot; /&gt;&lt;/a&gt; a utilização de um &lt;em&gt;Splash Screen&lt;/em&gt;, efeito muito utilizado por vários tipos de aplicações: &lt;em&gt;Adobe Photoshop, NetBeans, Visual Studio, Windows Live Writer&lt;/em&gt; são alguns exemplos.&lt;/p&gt;  &lt;p&gt;Hoje vou mostrar como colocar um &lt;em&gt;Splash Screen&lt;/em&gt; &lt;a href=&quot;http://lh5.ggpht.com/_wPtp44I7-rc/TTzTyOI0oyI/AAAAAAAACE0/N_-1EyzvI-4/s1600-h/Visual-Studio-20104.png&quot; target=&quot;_blank&quot;&gt;&lt;img style=&quot;background-image: none; border-right-width: 0px; margin: ; padding-left: 0px; padding-right: 0px; display: inline; float: right; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px&quot; title=&quot;Splash Screen do Visual Studio 2010&quot; border=&quot;0&quot; alt=&quot;Splash Screen do Visual Studio 2010&quot; align=&quot;right&quot; src=&quot;http://lh4.ggpht.com/_wPtp44I7-rc/TTzTy_sYb7I/AAAAAAAACE4/HhKpnWwDa0M/Visual-Studio-2010_thumb5.png?imgmax=800&quot; width=&quot;123&quot; height=&quot;88&quot; /&gt;&lt;/a&gt;no &lt;strong&gt;WPF&lt;/strong&gt; fazendo com a resposta ao usuário ao chamar a aplicação seja praticamente imediata.&lt;/p&gt;  &lt;p&gt;Desde a versão do Framework 3.5 SP1 existem 3 opções para se criar um &lt;em&gt;Splash Screen&lt;/em&gt; no &lt;strong&gt;WPF&lt;/strong&gt;. Em todas elas devemos lembrar que as imagens deve ser suportadas pelo &lt;em&gt;Windows Imaging Component (WIC)&lt;/em&gt; e isso inclui: BMP, GIF, JPEG, PNG e TIFF. &lt;/p&gt;  &lt;p&gt;Se você utilizar uma imagem PNG com transparência ela será mostrada no &lt;em&gt;Splash Screen&lt;/em&gt; com transparência. Se utilizar um GIF animado só será mostrado o primeiro &lt;em&gt;frame&lt;/em&gt;.&lt;/p&gt;  &lt;h5&gt;Opção 1: Adicionando o item SplashScreen&lt;/h5&gt;  &lt;p&gt;Com certeza esta é a opção mais simples.&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;No menu de contexto do seu projeto selecione a opção &lt;em&gt;Add&lt;/em&gt; e depois &lt;em&gt;New Item&lt;/em&gt;. &lt;/li&gt;    &lt;li&gt;Selecione o item &lt;em&gt;SplashScreen (WPF)&lt;/em&gt; e escolha um nome para o mesmo. &lt;/li&gt;    &lt;li&gt;Rode a aplicação e veja como ficou a imagem padrão de &lt;em&gt;Splash Screen&lt;/em&gt;. &lt;/li&gt; &lt;/ul&gt;  &lt;h5&gt;Opção 2: Utilizando uma imagem com Build Action SplashScreen&lt;/h5&gt;  &lt;p&gt;A segunda opção não consiste em algo tão mais complexo do que o item &lt;em&gt;SplashScreen&lt;/em&gt;, na verdade se utiliza o mesmo recurso utilizado por ele, uma imagem que tem definido seu &lt;em&gt;Build Action&lt;/em&gt; como &lt;em&gt;SplashScreen&lt;/em&gt;.&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;No menu de contexto do seu projeto selecione a opção &lt;em&gt;Add&lt;/em&gt; e depois &lt;em&gt;Existing Item&lt;/em&gt;. &lt;/li&gt;    &lt;li&gt;Selecione uma imagem que queira que apareça enquanto a sua aplicação está fazendo o carregamento mais pesado. &lt;/li&gt;    &lt;li&gt;Vá na aba das propriedades desta imagem e configure o &lt;em&gt;Build Action&lt;/em&gt; para &lt;em&gt;SplashScreen&lt;/em&gt;. &lt;/li&gt;    &lt;li&gt;Rode a aplicação e veja como ficou a imagem selecionada como &lt;em&gt;Splash Screen&lt;/em&gt; da sua aplicação. &lt;/li&gt; &lt;/ul&gt;  &lt;h5&gt;Opção 3:Utilizando as APIs de SplashScreen&lt;/h5&gt;  &lt;p&gt;Podemos utilizar a API de &lt;a title=&quot;System.Windows.SplashScreen&quot; href=&quot;http://msdn.microsoft.com/en-us/library/system.windows.splashscreen.aspx&quot; target=&quot;_blank&quot;&gt;SplashScreen&lt;/a&gt; através da classe de mesmo nome.&lt;/p&gt;  &lt;p&gt;Não existem passos mágicos a seguir, apenas devemos prestar atenção que a imagem que quisermos utilizar deve ter seu &lt;em&gt;Build Action&lt;/em&gt; configurado para &lt;em&gt;Resource&lt;/em&gt;.&lt;/p&gt;  &lt;div style=&quot;padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px&quot; id=&quot;scid:9D7513F9-C04C-4721-824A-2B34F0212519:6741ae6f-1501-418d-9c8c-76ef314187ab&quot; class=&quot;wlWriterEditableSmartContent&quot;&gt;&lt;pre style=&quot; width: 411px; height: 202px;background-color:White;overflow: hidden;&quot;&gt;&lt;div&gt;&lt;!--

Code highlighting produced by Actipro CodeHighlighter (freeware)
http://www.CodeHighlighter.com/

--&gt;&lt;span style=&quot;color: #000000;&quot;&gt;  &lt;/span&gt;&lt;span style=&quot;color: #0000FF;&quot;&gt;public&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #0000FF;&quot;&gt;partial&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #0000FF;&quot;&gt;class&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt; MainWindow : Window
  {
    &lt;/span&gt;&lt;span style=&quot;color: #0000FF;&quot;&gt;public&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt; MainWindow()
    {
      var splash &lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #0000FF;&quot;&gt;new&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt; SplashScreen(&lt;/span&gt;&lt;span style=&quot;color: #800000;&quot;&gt;&amp;quot;&lt;/span&gt;&lt;span style=&quot;color: #800000;&quot;&gt;Splash.png&lt;/span&gt;&lt;span style=&quot;color: #800000;&quot;&gt;&amp;quot;&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;);
      splash.Show(&lt;/span&gt;&lt;span style=&quot;color: #0000FF;&quot;&gt;false&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;);
      splash.Close(TimeSpan.FromSeconds(&lt;/span&gt;&lt;span style=&quot;color: #800080;&quot;&gt;3&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;));
      InitializeComponent();
    }
  }&lt;/span&gt;&lt;/div&gt;&lt;/pre&gt;&lt;!-- Code inserted with Steve Dunn&#39;s Windows Live Writer Code Formatter Plugin.  http://dunnhq.com --&gt;&lt;/div&gt;

&lt;p&gt;Como podemos ver, basta instanciar a classe&lt;a href=&quot;http://lh6.ggpht.com/_wPtp44I7-rc/TTzT0CmRrXI/AAAAAAAACE8/M9sM9DKMg9c/s1600-h/splash%5B7%5D.png&quot; target=&quot;_blank&quot;&gt;&lt;img style=&quot;background-image: none; border-bottom: 0px; border-left: 0px; margin: ; padding-left: 0px; padding-right: 0px; display: inline; float: right; border-top: 0px; border-right: 0px; padding-top: 0px&quot; title=&quot;splash&quot; border=&quot;0&quot; alt=&quot;splash&quot; align=&quot;right&quot; src=&quot;http://lh6.ggpht.com/_wPtp44I7-rc/TTzT08Dak5I/AAAAAAAACFA/HAHCrBzm51Q/splash_thumb%5B5%5D.png?imgmax=800&quot; width=&quot;240&quot; height=&quot;153&quot; /&gt;&lt;/a&gt; &lt;em&gt;&lt;a title=&quot;Sistem.Windows.SplashScreen&quot; href=&quot;http://msdn.microsoft.com/en-us/library/system.windows.splashscreen.aspx&quot; target=&quot;_blank&quot;&gt;SplashScreen&lt;/a&gt;&lt;/em&gt; passando o caminho do &lt;em&gt;Resource&lt;/em&gt;. &lt;/p&gt;

&lt;p&gt;Depois chamamos o método &lt;em&gt;&lt;a href=&quot;http://msdn.microsoft.com/en-us/library/cc681209.aspx&quot; target=&quot;_blank&quot;&gt;Show&lt;/a&gt;&lt;/em&gt; para mostrar a imagem e informamos que a mesma não deverá ser fechada automaticamente. &lt;/p&gt;

&lt;p&gt;Por fim definimos através do método &lt;a href=&quot;http://msdn.microsoft.com/en-us/library/system.windows.splashscreen.close.aspx&quot; target=&quot;_blank&quot;&gt;Close&lt;/a&gt; que após 3 segundos ela sofrerá um efeito &lt;em&gt;fade out&lt;/em&gt; e fechará.&lt;/p&gt;

&lt;p&gt;O &lt;em&gt;Splash Screen&lt;/em&gt; em si não faz a aplicação ficar mais rápida para abrir, mas como faz uso do &lt;em&gt;Windows Imaging Component (WIC) &lt;/em&gt;ele mostra a imagem muito antes da aplicação carregar. Com isso melhora a experiência do usuário com a sua aplicação.&lt;/p&gt;

&lt;p&gt;Enjoy&lt;/p&gt;  </description><link>http://blog.vitorcanova.net/2011/01/wpf-com-splash-screen.html</link><author>noreply@blogger.com (Vitor Canova)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://lh3.ggpht.com/_wPtp44I7-rc/TTzTwjv4lNI/AAAAAAAACEw/oF5_Z96_ZKA/s72-c/Windows-Live-Writer_thumb18.png?imgmax=800" height="72" width="72"/><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-2720906137796848741.post-2534743605862187198</guid><pubDate>Thu, 30 Dec 2010 20:34:00 +0000</pubDate><atom:updated>2010-12-30T18:34:51.162-02:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">C#</category><category domain="http://www.blogger.com/atom/ns#">internal</category><category domain="http://www.blogger.com/atom/ns#">InternalsVisibleToAttribute</category><category domain="http://www.blogger.com/atom/ns#">Modificadores de Acesso</category><title>Sabe o que é modificador internal? Sabe mesmo???</title><description>&lt;p&gt;Pois é, o post começa com algo bem básico do C#, coisa do primeiro dia de aula mesmo: &lt;a href=&quot;http://msdn.microsoft.com/en-us/library/wxh6fsc7.aspx&quot; target=&quot;_blank&quot;&gt;Modificadores de Acesso&lt;/a&gt;. Só pra relembrar:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;a href=&quot;http://msdn.microsoft.com/en-us/library/yzh058ae.aspx&quot; target=&quot;_blank&quot;&gt;public&lt;/a&gt; : Sem restrição de acesso.&lt;/li&gt;    &lt;li&gt;&lt;a href=&quot;http://msdn.microsoft.com/en-us/library/bcd5672a.aspx&quot; target=&quot;_blank&quot;&gt;protected&lt;/a&gt; : Acessado pela classe que o define e pelas classes derivadas dela.&lt;/li&gt;    &lt;li&gt;&lt;a href=&quot;http://msdn.microsoft.com/en-us/library/7c5ka91b.aspx&quot; target=&quot;_blank&quot;&gt;internal&lt;/a&gt; : Acessado apenas de dentro do mesmo &lt;em&gt;assembly&lt;/em&gt;.&lt;/li&gt;    &lt;li&gt;&lt;a href=&quot;http://msdn.microsoft.com/en-us/library/st6sy9xe.aspx&quot; target=&quot;_blank&quot;&gt;private&lt;/a&gt; : Acessado somente de dentro da classe (mesmo se forem instancias diferentes).&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;Isso todo mundo já sabe (ou deveriam saber). O ponto em que quero chegar é que, dizer que &lt;em&gt;&amp;quot;membros ou tipos &lt;strong&gt;internal&lt;/strong&gt; só podem ser acessados dentro do mesmo assembly&amp;quot;&lt;/em&gt; não é uma completa verdade.&lt;/p&gt;  &lt;h5&gt;InternalsVisibleToAttribute&lt;/h5&gt;  &lt;p&gt;O atributo &lt;a href=&quot;http://msdn.microsoft.com/en-us/library/system.runtime.compilerservices.internalsvisibletoattribute.aspx&quot; target=&quot;_blank&quot;&gt;InternalsVisibleTo&lt;/a&gt; introduz ao &lt;em&gt;assembly&lt;/em&gt; o conceito de &lt;a href=&quot;http://msdn.microsoft.com/en-us/library/0tke9fxk.aspx&quot; target=&quot;_blank&quot;&gt;Friend Assembly&lt;/a&gt;. Com isto os membros ou tipos marcados com o modificador de acesso &lt;u&gt;internal&lt;/u&gt; podem ser acessados de outro &lt;em&gt;assembly&lt;/em&gt;. Vamos ver como funciona:&lt;/p&gt;  &lt;p&gt;Nesta solução podemos ver que existem 3 &lt;img style=&quot;background-image: none; border-bottom: 0px; border-left: 0px; margin: ; padding-left: 0px; padding-right: 0px; display: inline; float: right; border-top: 0px; border-right: 0px; padding-top: 0px&quot; title=&quot;Projeto - Imagem em tamanho natural&quot; border=&quot;0&quot; alt=&quot;Projeto&quot; align=&quot;right&quot; src=&quot;http://lh4.ggpht.com/_wPtp44I7-rc/TRzs18X4VZI/AAAAAAAACEM/e0fowV6X2HY/Projeto%5B24%5D.png?imgmax=800&quot; width=&quot;237&quot; height=&quot;329&quot; /&gt;projetos, sendo 2 projetos do tipo &lt;em&gt;ClassLibrary&lt;/em&gt; e 1 &lt;em&gt;ConsoleApplication&lt;/em&gt;.&lt;/p&gt;  &lt;p&gt;Adicionamos o projeto &lt;strong&gt;AssemblyA&lt;/strong&gt; como referencia no projeto &lt;strong&gt;MyConsoleApplication. Depois&lt;/strong&gt; o projeto &lt;strong&gt;AssemblyB&lt;/strong&gt; como referencia no projeto &lt;strong&gt;AssemblyA&lt;/strong&gt; e &lt;strong&gt;MyConsoleApplication&lt;/strong&gt;.&lt;/p&gt;    &lt;p&gt;Ele ficará como a imagem ao lado. Podemos ver que existem algumas classes já declaradas. &lt;/p&gt;  &lt;p&gt;No &lt;strong&gt;AssemblyB&lt;/strong&gt; temos uma classe com modificador de acesso &lt;u&gt;internal&lt;/u&gt; e outra com o modificador de acesso &lt;u&gt;public&lt;/u&gt; (Como dizem os nomes). &lt;/p&gt;  &lt;p&gt;Agora vamos tentar instanciar a classe &lt;strong&gt;AssemblyB.MyInternalClass&lt;/strong&gt; de dentro da c&lt;a href=&quot;http://lh4.ggpht.com/_wPtp44I7-rc/TRzs28dAr7I/AAAAAAAACEQ/r6mkpO2qTxE/s1600-h/Build%20Fail%5B8%5D.png&quot; target=&quot;_blank&quot;&gt;&lt;img style=&quot;background-image: none; border-bottom: 0px; border-left: 0px; margin: ; padding-left: 0px; padding-right: 0px; display: inline; float: right; border-top: 0px; border-right: 0px; padding-top: 0px&quot; title=&quot;Build Fail&quot; border=&quot;0&quot; alt=&quot;Build Fail&quot; align=&quot;right&quot; src=&quot;http://lh5.ggpht.com/_wPtp44I7-rc/TRzs3chr3rI/AAAAAAAACEU/Yi6Ep_TbBJE/Build%20Fail_thumb%5B6%5D.png?imgmax=800&quot; width=&quot;206&quot; height=&quot;168&quot; /&gt;&lt;/a&gt;lasse &lt;strong&gt;AssemblyA.MyPublicUtilClass&lt;/strong&gt; e compilar a aplicação para ver o que acontece.&lt;/p&gt;  &lt;p&gt;O Visual Studio não deixa compilar a aplicação. Ele nos mostra o motivo do &lt;em&gt;build failed&lt;/em&gt; em duas mensagens de erro:&lt;/p&gt;    &lt;ol&gt;   &lt;li&gt;O tipo &lt;strong&gt;AssemblyB.MyInternalClass&lt;/strong&gt; não tem construtor definido.&lt;/li&gt;    &lt;li&gt;O tipo &lt;strong&gt;AssemblyB.MyInternalClass&lt;/strong&gt; não é acessível devido ao seu nível de proteção.&lt;/li&gt; &lt;/ol&gt;  &lt;p&gt;Como a classe está definida com o seu modificador de acesso sendo &lt;u&gt;internal&lt;/u&gt; o Visual Studio segue a regra que descrevemos mais acima e não deixa ela ser acessada (no caso instanciada).&lt;/p&gt;  &lt;p&gt;Esses mesmos dois erros ocorreriam se tivéssemos tentado o acesso a esta classe no &lt;em&gt;assembly&lt;/em&gt; &lt;strong&gt;MyConsoleApplication&lt;/strong&gt;.&lt;/p&gt;  &lt;p&gt;Nesse momento entra em ação o atributo &lt;em&gt;InternalsVisibleTo&lt;/em&gt; que faz uma alteração a nível de &lt;em&gt;assembly&lt;/em&gt; fazendo com que &lt;strong&gt;AssemblyA&lt;/strong&gt; possa instanciar a classe em questão.&lt;/p&gt;  &lt;p&gt;Segue o trecho que pode ser colocado em qualquer arquivo de código mas que por boas práticas deve ser colocado no arquivo &lt;em&gt;AssemblyInfo&lt;/em&gt; da pasta &lt;em&gt;Properties&lt;/em&gt; do projeto.&lt;/p&gt;  &lt;p&gt;&lt;img style=&quot;background-image: none; border-bottom: 0px; border-left: 0px; margin: ; padding-left: 0px; padding-right: 0px; display: inline; float: ; border-top: 0px; border-right: 0px; padding-top: 0px&quot; title=&quot;AssemblyInfo&quot; border=&quot;0&quot; alt=&quot;AssemblyInfo&quot; src=&quot;http://lh4.ggpht.com/_wPtp44I7-rc/TRzs37skliI/AAAAAAAACEY/_wDcYc7L_hQ/AssemblyInfo%5B8%5D.png?imgmax=800&quot; width=&quot;324&quot; height=&quot;56&quot; /&gt;&lt;/p&gt;  &lt;p&gt;Com isto compilamos novamente a aplicação e podemos ver que agora temos acesso a classe &lt;strong&gt;MyInternalClass&lt;/strong&gt; de dentro do &lt;em&gt;assembly&lt;/em&gt; &lt;strong&gt;AssemblyA&lt;/strong&gt;.&lt;/p&gt;  &lt;p&gt;Também podemos verificar que apesar do acesso a classe &lt;a href=&quot;http://lh5.ggpht.com/_wPtp44I7-rc/TRzs4opSHlI/AAAAAAAACEc/F3yWktoCXnE/s1600-h/MyConsoleApplication%5B3%5D.png&quot; target=&quot;_blank&quot;&gt;&lt;img style=&quot;background-image: none; border-bottom: 0px; border-left: 0px; margin: ; padding-left: 0px; padding-right: 0px; display: inline; float: right; border-top: 0px; border-right: 0px; padding-top: 0px&quot; title=&quot;MyConsoleApplication&quot; border=&quot;0&quot; alt=&quot;MyConsoleApplication&quot; align=&quot;right&quot; src=&quot;http://lh4.ggpht.com/_wPtp44I7-rc/TRzs5JJX66I/AAAAAAAACEg/eEQa5C5sSSU/MyConsoleApplication_thumb%5B1%5D.png?imgmax=800&quot; width=&quot;260&quot; height=&quot;156&quot; /&gt;&lt;/a&gt;&lt;strong&gt;MyInternalClass&lt;/strong&gt; ter sido alterado em relação ao &lt;em&gt;assembly&lt;/em&gt; &lt;strong&gt;AssemblyA&lt;/strong&gt;, o &lt;em&gt;assembly&lt;/em&gt; &lt;strong&gt;MyConsoleApplication&lt;/strong&gt; ainda continua ser ter acesso. Se fosse necessário que o &lt;em&gt;assembly&lt;/em&gt; &lt;strong&gt;MyConsoleApplication&lt;/strong&gt; pudesse acessar também a classe &lt;strong&gt;MyInternalClass&lt;/strong&gt; bastaria colocar mais um atributo (permite múltiplos) no &lt;em&gt;AssemblyInfo&lt;/em&gt; especificando isto.&lt;/p&gt;  &lt;h5&gt;Considerações Importantes&lt;/h5&gt;  &lt;p&gt;Não são muitos os casos onde é aconselhada esta prática. Ela é exigida em casos onde a organização do projeto&lt;a href=&quot;http://lh6.ggpht.com/_wPtp44I7-rc/TRzs57kOOAI/AAAAAAAACEk/0YOOimHhpDM/s1600-h/Sistem.Workflow.Activities%5B6%5D.png&quot; target=&quot;_blank&quot;&gt;&lt;img style=&quot;background-image: none; border-bottom: 0px; border-left: 0px; margin: ; padding-left: 0px; padding-right: 0px; display: inline; float: right; border-top: 0px; border-right: 0px; padding-top: 0px&quot; title=&quot;Sistem.Workflow.Activities&quot; border=&quot;0&quot; alt=&quot;Sistem.Workflow.Activities&quot; align=&quot;right&quot; src=&quot;http://lh5.ggpht.com/_wPtp44I7-rc/TRzs6fo7xpI/AAAAAAAACEo/Nx7YvaS01yM/Sistem.Workflow.Activities_thumb%5B4%5D.png?imgmax=800&quot; width=&quot;208&quot; height=&quot;161&quot; /&gt;&lt;/a&gt; a exige:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Casos onde existe um projeto de teste e é necessário o acesso a membros &lt;u&gt;internal&lt;/u&gt; para o teste.&lt;/li&gt;    &lt;li&gt;Quando se desenvolve um &lt;em&gt;ClassLibrary&lt;/em&gt; que é composto por vários &lt;em&gt;assemblies&lt;/em&gt; mas requerem acesso a membros existentes entre eles. Este é o caso do &lt;em&gt;assembly&lt;/em&gt; &lt;strong&gt;System.Workflow.Activities&lt;/strong&gt;.&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;O exemplo que implementei foi o de mais fácil compreensão. Existem algumas regras que devem ser seguidas para a utilização desde atributo. A regra mais importante é a respeito dos &lt;a title=&quot;Strong-Named Assemblies&quot; href=&quot;http://msdn.microsoft.com/en-us/library/wd40t7ad.aspx&quot; target=&quot;_blank&quot;&gt;Strong Names&lt;/a&gt;:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Se o &lt;em&gt;assembly&lt;/em&gt; que se quer ter os membros &lt;u&gt;internal&lt;/u&gt; visíveis tiver um &lt;strong&gt;strong name&lt;/strong&gt; o &lt;em&gt;assembly&lt;/em&gt; que o consumirá também deverá ter. No atributo &lt;em&gt;InternalsVisibleTo&lt;/em&gt; deverá constar, separados por vírgula, o nome do &lt;em&gt;assembly&lt;/em&gt; mais a &lt;em&gt;public key&lt;/em&gt; dentro da &lt;em&gt;string&lt;/em&gt; que é passada ao construtor.&lt;/li&gt;    &lt;li&gt;Se o &lt;em&gt;assembly&lt;/em&gt; que se quer ter os membros &lt;u&gt;internal&lt;/u&gt; visíveis &lt;u&gt;não&lt;/u&gt; tiver um &lt;strong&gt;strong name&lt;/strong&gt; o &lt;em&gt;assembly&lt;/em&gt; que o consumirá também &lt;u&gt;não&lt;/u&gt; deverá ter.&lt;/li&gt; &lt;/ul&gt;        &lt;p&gt;Enjoy&lt;/p&gt;  </description><link>http://blog.vitorcanova.net/2010/12/sabe-o-que-e-modificador-internal-sabe.html</link><author>noreply@blogger.com (Vitor Canova)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://lh4.ggpht.com/_wPtp44I7-rc/TRzs18X4VZI/AAAAAAAACEM/e0fowV6X2HY/s72-c/Projeto%5B24%5D.png?imgmax=800" height="72" width="72"/><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-2720906137796848741.post-5258380637859671169</guid><pubDate>Fri, 24 Dec 2010 03:21:00 +0000</pubDate><atom:updated>2010-12-24T01:42:52.841-02:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">3D</category><category domain="http://www.blogger.com/atom/ns#">PlaneProjection</category><category domain="http://www.blogger.com/atom/ns#">Projection</category><category domain="http://www.blogger.com/atom/ns#">Silverlight 3</category><title>Imitando efeito 3D no Silverlight</title><description>&lt;p&gt;Introduzidos na versão 3 do Silverlight os efeitos de projeção (&lt;a href=&quot;http://msdn.microsoft.com/en-us/library/system.windows.uielement.projection(VS.95).aspx&quot; target=&quot;_blank&quot;&gt;&lt;em&gt;Projection&lt;/em&gt;&lt;/a&gt;) podem passar desapercebidos como se fossem reais efeitos 3D.&lt;a href=&quot;http://lh4.ggpht.com/_wPtp44I7-rc/TRQRvCzLr0I/AAAAAAAACD4/VR6ulmUe3ok/s1600-h/silverlight-logo%5B5%5D.jpg&quot; target=&quot;_blank&quot;&gt;&lt;img style=&quot;background-image: none; border-right-width: 0px; margin: ; padding-left: 0px; padding-right: 0px; display: inline; float: right; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px&quot; title=&quot;silverlight-logo&quot; border=&quot;0&quot; alt=&quot;silverlight-logo&quot; align=&quot;right&quot; src=&quot;http://lh6.ggpht.com/_wPtp44I7-rc/TRQRvgaP9sI/AAAAAAAACD8/5VRL-8fqMwQ/silverlight-logo_thumb%5B2%5D.jpg?imgmax=800&quot; width=&quot;185&quot; height=&quot;209&quot; /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Na verdade o que acontece é que o Silverlight traduz o objeto de projeção em formas matemáticas que aplicadas nas transformações de &lt;em&gt;layout&lt;/em&gt; fazem com que elementos pareçam 3D. &lt;/p&gt;  &lt;p&gt;&lt;a href=&quot;http://www.wintellect.com/cs/blogs/jprosise/&quot; target=&quot;_blank&quot;&gt;Jeff Prosise&lt;/a&gt; mostra &lt;a href=&quot;http://msdn.microsoft.com/en-us/magazine/dd188700.aspx&quot; target=&quot;_blank&quot;&gt;neste&lt;/a&gt; artigo da MSDN que é possível até mesmo na versão 2 do Silverlight apenas usando &lt;a href=&quot;http://msdn.microsoft.com/en-us/library/system.windows.uielement.rendertransform(VS.95).aspx&quot; target=&quot;_blank&quot;&gt;RenderTransform&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;Mas a minha ideia hoje é mostrar do jeito mais fácil, sem todos esses cálculos e tal. Então vamos direto ao assunto.&lt;/p&gt;  &lt;h5&gt;UIElement.Projection&lt;/h5&gt;  &lt;p&gt;A propriedade &lt;em&gt;Projection&lt;/em&gt; é onde vamos trabalhar. Nela podemos ver várias propriedades que irão afetar a renderização final de um elemento de interface. &lt;/p&gt;  &lt;p&gt;Esta propriedade é do tipo &lt;a href=&quot;http://msdn.microsoft.com/en-us/library/system.windows.media.projection(VS.95).aspx&quot; target=&quot;_blank&quot;&gt;System.Windows.Media.Projection&lt;/a&gt; que é uma classe abstrata. Até hoje existem duas implementações concretas no Silverlight: &lt;a href=&quot;http://msdn.microsoft.com/en-us/library/system.windows.media.planeprojection(VS.95).aspx&quot; target=&quot;_blank&quot;&gt;PlaneProjection&lt;/a&gt; e &lt;a href=&quot;http://msdn.microsoft.com/en-us/library/system.windows.media.matrix3dprojection(VS.95).aspx&quot; target=&quot;_blank&quot;&gt;Matrix3DProjection&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;A Matrix3DProjection permite que se escreva detalhadamente a matriz 3D que se quer desenhar, dificultando um pouco para quem não tem grandes noções do assunto.&lt;/p&gt;  &lt;p&gt;Já a PlaneProjection permite que possamos definir um grupo de 12 propriedades de fácil entendimento. São elas: &lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;a href=&quot;http://msdn.microsoft.com/en-us/library/system.windows.media.planeprojection.rotationx(VS.95).aspx&quot; target=&quot;_blank&quot;&gt;RotationX&lt;/a&gt;&amp;#160; &lt;/li&gt;    &lt;li&gt;&lt;a href=&quot;http://msdn.microsoft.com/en-us/library/system.windows.media.planeprojection.rotationy(VS.95).aspx&quot; target=&quot;_blank&quot;&gt;RotationY&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href=&quot;http://msdn.microsoft.com/en-us/library/system.windows.media.planeprojection.rotationz(VS.95).aspx&quot; target=&quot;_blank&quot;&gt;RotationZ&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href=&quot;http://msdn.microsoft.com/en-us/library/system.windows.media.planeprojection.centerofrotationx(VS.95).aspx&quot; target=&quot;_blank&quot;&gt;CenterOfRotationX&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href=&quot;http://msdn.microsoft.com/en-us/library/system.windows.media.planeprojection.centerofrotationy(VS.95).aspx&quot; target=&quot;_blank&quot;&gt;CenterOfRotationY&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href=&quot;http://msdn.microsoft.com/en-us/library/system.windows.media.planeprojection.centerofrotationz(VS.95).aspx&quot; target=&quot;_blank&quot;&gt;CenterOfRotationZ&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href=&quot;http://msdn.microsoft.com/en-us/library/system.windows.media.planeprojection.globaloffsetx(VS.95).aspx&quot; target=&quot;_blank&quot;&gt;GlobalOffsetX&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href=&quot;http://msdn.microsoft.com/en-us/library/system.windows.media.planeprojection.globaloffsety(VS.95).aspx&quot; target=&quot;_blank&quot;&gt;GlobalOffsetY&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href=&quot;http://msdn.microsoft.com/en-us/library/system.windows.media.planeprojection.globaloffsetz(VS.95).aspx&quot; target=&quot;_blank&quot;&gt;GlobalOffsetZ&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href=&quot;http://msdn.microsoft.com/en-us/library/system.windows.media.planeprojection.localoffsetx(VS.95).aspx&quot; target=&quot;_blank&quot;&gt;LocalOffsetX&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href=&quot;http://msdn.microsoft.com/en-us/library/system.windows.media.planeprojection.localoffsety(VS.95).aspx&quot; target=&quot;_blank&quot;&gt;LocalOffsetY&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href=&quot;http://msdn.microsoft.com/en-us/library/system.windows.media.planeprojection.localoffsetz(VS.95).aspx&quot; target=&quot;_blank&quot;&gt;LocalOffsetZ&lt;/a&gt; &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;Digamos que seja &lt;em&gt;3D for newbies&lt;/em&gt;.&lt;/p&gt;  &lt;p&gt;Vamos começar com um exemplo bem simples. Vamos girar um border 45 graus nos eixos x e y e z com o código abaixo (resumido):&lt;/p&gt;  &lt;div style=&quot;padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px&quot; id=&quot;scid:9D7513F9-C04C-4721-824A-2B34F0212519:ec20ccce-ca8f-49fb-b14b-2dc5b2ffdeb2&quot; class=&quot;wlWriterEditableSmartContent&quot;&gt;&lt;pre style=&quot; width: 299px; height: 179px;background-color:White;overflow: hidden;&quot;&gt;&lt;div&gt;&lt;!--

Code highlighting produced by Actipro CodeHighlighter (freeware)
http://www.CodeHighlighter.com/

--&gt;&lt;span style=&quot;color: #0000FF;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #800000;&quot;&gt;Border &lt;/span&gt;&lt;span style=&quot;color: #FF0000;&quot;&gt;Name&lt;/span&gt;&lt;span style=&quot;color: #0000FF;&quot;&gt;=&amp;quot;border1&amp;quot;&lt;/span&gt;&lt;span style=&quot;color: #0000FF;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;
  &lt;/span&gt;&lt;span style=&quot;color: #0000FF;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #800000;&quot;&gt;Border.Projection&lt;/span&gt;&lt;span style=&quot;color: #0000FF;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;
    &lt;/span&gt;&lt;span style=&quot;color: #0000FF;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #800000;&quot;&gt;PlaneProjection &lt;/span&gt;&lt;span style=&quot;color: #FF0000;&quot;&gt;RotationY&lt;/span&gt;&lt;span style=&quot;color: #0000FF;&quot;&gt;=&amp;quot;45&amp;quot;&lt;/span&gt;&lt;span style=&quot;color: #FF0000;&quot;&gt;
             RotationX&lt;/span&gt;&lt;span style=&quot;color: #0000FF;&quot;&gt;=&amp;quot;45&amp;quot;&lt;/span&gt;&lt;span style=&quot;color: #FF0000;&quot;&gt;
             RotationZ&lt;/span&gt;&lt;span style=&quot;color: #0000FF;&quot;&gt;=&amp;quot;45&amp;quot;&lt;/span&gt;&lt;span style=&quot;color: #FF0000;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #0000FF;&quot;&gt;/&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;
  &lt;/span&gt;&lt;span style=&quot;color: #0000FF;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: #800000;&quot;&gt;Border.Projection&lt;/span&gt;&lt;span style=&quot;color: #0000FF;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;
  &lt;/span&gt;&lt;span style=&quot;color: #0000FF;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #800000;&quot;&gt;TextBox &lt;/span&gt;&lt;span style=&quot;color: #FF0000;&quot;&gt;Text&lt;/span&gt;&lt;span style=&quot;color: #0000FF;&quot;&gt;=&amp;quot;Para Cima&amp;quot;&lt;/span&gt;&lt;span style=&quot;color: #0000FF;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;
  &lt;/span&gt;&lt;span style=&quot;color: #0000FF;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: #800000;&quot;&gt;TextBox&lt;/span&gt;&lt;span style=&quot;color: #0000FF;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;
&lt;/span&gt;&lt;span style=&quot;color: #0000FF;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: #800000;&quot;&gt;Border&lt;/span&gt;&lt;span style=&quot;color: #0000FF;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;/pre&gt;&lt;!-- Code inserted with Steve Dunn&#39;s Windows Live Writer Code Formatter Plugin.  http://dunnhq.com --&gt;&lt;/div&gt;

&lt;p&gt;E o resultado podemos conferir na imagem logo abaixo:&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;http://lh4.ggpht.com/_wPtp44I7-rc/TRQRwrU9meI/AAAAAAAACEA/4w3ZkCVMuh0/s1600-h/Primeiro%20exemplo%5B20%5D.png&quot; target=&quot;_blank&quot;&gt;&lt;img style=&quot;background-image: none; border-right-width: 0px; margin: ; padding-left: 0px; padding-right: 0px; display: inline; float: right; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px&quot; title=&quot;Primeiro exemplo&quot; border=&quot;0&quot; alt=&quot;Primeiro exemplo&quot; align=&quot;right&quot; src=&quot;http://lh4.ggpht.com/_wPtp44I7-rc/TRQRxGS_1VI/AAAAAAAACEE/PjWnPXWF2qI/Primeiro%20exemplo_thumb%5B16%5D.png?imgmax=800&quot; width=&quot;216&quot; height=&quot;159&quot; /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Coloquei um texto dentro só para termos um ideia de como o efeito é transmitido para os elementos filhos. Também podemos notar que o TextBox continua 100% funcional.&lt;/p&gt;

&lt;p&gt;Mas não para por aí. A classe PlaneProjection tem várias &lt;a href=&quot;http://msdn.microsoft.com/en-us/library/system.windows.dependencyproperty(VS.95).aspx&quot; target=&quot;_blank&quot;&gt;DependencyProperties&lt;/a&gt; e isso quer dizer que podemos fazem &lt;em&gt;Binding&lt;/em&gt; com elas.&lt;/p&gt;

&lt;p&gt;Além disso também podemos aplicar animações a essas propriedades aumentado ainda mais o nível de experiência do usuário. &lt;/p&gt;

&lt;p&gt;&lt;strike&gt;No exemplo abaixo&lt;/strike&gt; &lt;a title=&quot;Ver exemplo funcional&quot; href=&quot;http://www.vitorcanova.net/Silverlight/Demos/PlaneProjection&quot; target=&quot;_blank&quot;&gt;Neste&lt;/a&gt; exemplo você pode clicar no botão para ver a animação nos controles em ação. Também pode alterar os valores dos Sliders alterando a posição da caixa vermelha.&lt;/p&gt;

&lt;p&gt;Isso é só uma pequena demonstração do que pode ser feito. Tente em casa.&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;www.vitorcanova.net/Silverlight/Demos/PlaneProjection/SilverlightProjection.zip&quot; target=&quot;_blank&quot;&gt;Aqui&lt;/a&gt; está o código fonte deste exemplo. E não, eu não me preocupei com o &lt;em&gt;layout&lt;/em&gt;, só em passar o conhecimento. Este blog não e de &lt;em&gt;Design&lt;/em&gt;. =D&lt;/p&gt;

&lt;p&gt;Enjoy&lt;/p&gt;  </description><link>http://blog.vitorcanova.net/2010/12/imitando-efeito-3d-no-silverlight.html</link><author>noreply@blogger.com (Vitor Canova)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://lh6.ggpht.com/_wPtp44I7-rc/TRQRvgaP9sI/AAAAAAAACD8/5VRL-8fqMwQ/s72-c/silverlight-logo_thumb%5B2%5D.jpg?imgmax=800" height="72" width="72"/><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-2720906137796848741.post-960198515839644311</guid><pubDate>Sun, 03 Oct 2010 22:28:00 +0000</pubDate><atom:updated>2010-11-04T07:44:18.548-02:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Breakpoint</category><category domain="http://www.blogger.com/atom/ns#">Call Stack</category><category domain="http://www.blogger.com/atom/ns#">Developer Tools</category><category domain="http://www.blogger.com/atom/ns#">IE9</category><title>Internet Explorer 9: Developer Tools</title><description>&lt;p&gt;&lt;a href=&quot;http://lh5.ggpht.com/_wPtp44I7-rc/TNIKTPUGX2I/AAAAAAAACCU/kpFCsdEegKY/s1600-h/IE9%5B3%5D.png&quot; target=&quot;_blank&quot;&gt;&lt;img style=&quot;background-image: none; border-right-width: 0px; margin: ; padding-left: 0px; padding-right: 0px; display: inline; float: right; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px&quot; title=&quot;IE9&quot; border=&quot;0&quot; alt=&quot;IE9&quot; align=&quot;right&quot; src=&quot;http://lh4.ggpht.com/_wPtp44I7-rc/TNIKTncbD7I/AAAAAAAACCY/YWTE1EEX0zY/IE9_thumb%5B1%5D.png?imgmax=800&quot; width=&quot;143&quot; height=&quot;148&quot; /&gt;&lt;/a&gt;Hoje resolvi falar sobre o &lt;a href=&quot;http://msdn.microsoft.com/en-us/library/dd565622(VS.85).aspx&quot; target=&quot;_blank&quot;&gt;Developer Tools&lt;/a&gt;, introduzido inicialmente como uma ferramenta separada do Internet Explorer 6 mas que desde a versão 7 do browser já vem incorporada na instalação básica.&lt;/p&gt;  &lt;p&gt;O &lt;em&gt;Developer Tools&lt;/em&gt; pode ser encontradao no menu de opções do &lt;em&gt;browser&lt;/em&gt;. Também pode ser acessado através da tecla de atalho &lt;strong&gt;F12&lt;/strong&gt;.&lt;/p&gt;  &lt;p&gt;A ferramenta possue opções para limpar o &lt;em&gt;cache&lt;/em&gt; específico de um domínio, alterar definições do modo de renderização, informações sobre as imagens e &lt;em&gt;cookies. &lt;/em&gt;Também tem ferramentas como &lt;em&gt;color picker&lt;/em&gt;, régua, alteração da &lt;em&gt;UserAgent&lt;/em&gt; &lt;em&gt;string&lt;/em&gt; e muito mais.&lt;/p&gt;  &lt;p&gt;Esta última versão apresenta 5 abas, sendo algumas delas novidades para o IE9.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;h5&gt;HTML&lt;/h5&gt;  &lt;p&gt;A aba de HTML é mostrado em uma estrutura tipo árvore os elementos DOM atualmente carregados na página. Mostra o estado atual da página e não o documento recebido do servidor (que pode ter sido alterado via script).&lt;/p&gt;  &lt;p&gt;Através do botão de seta localizado logo na p&lt;a href=&quot;http://lh3.ggpht.com/_wPtp44I7-rc/TNIKW8chQoI/AAAAAAAACCc/9fRQBDcAcFg/s1600-h/Selecionar%20HTML%5B13%5D.png&quot; target=&quot;_blank&quot;&gt;&lt;img style=&quot;background-image: none; border-right-width: 0px; margin: ; padding-left: 0px; padding-right: 0px; display: inline; float: right; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px&quot; title=&quot;Selecionar HTML&quot; border=&quot;0&quot; alt=&quot;Selecionar HTML&quot; align=&quot;right&quot; src=&quot;http://lh3.ggpht.com/_wPtp44I7-rc/TNIKYNS8yaI/AAAAAAAACCk/5yMC99pHrSY/Selecionar%20HTML_thumb%5B11%5D.png?imgmax=800&quot; width=&quot;244&quot; height=&quot;180&quot; /&gt;&lt;/a&gt;arte superior esquerda da aba é possível selecionar elementos diretamente na página. Com isso se evita de ter que ficar procurando os elementos diretamente na árvore mostrada.&lt;/p&gt;  &lt;p&gt;Na parte lateral encontramos as opções &lt;em&gt;Style&lt;/em&gt;, &lt;em&gt;Trace Styles&lt;/em&gt;, &lt;em&gt;Layout&lt;/em&gt; e &lt;em&gt;Attributes&lt;/em&gt;.&lt;/p&gt;  &lt;p&gt;&lt;em&gt;Style&lt;/em&gt;: Podemos ver os estilos aplicados ao elemento selecionado através de arquivo CSS ou in-line. Podemos fazer alterações dos valores diretamente nesta janela e ver como ficou na mesma hora.&lt;/p&gt;  &lt;p&gt;&lt;em&gt;Trace&lt;/em&gt; Styles: Semelhante ao anterior mas mostra apenas os estilos que estão sendo considerados e não os que foram sobreescritos por outro CSS ou propriedade.&lt;/p&gt;  &lt;p&gt;&lt;em&gt;Layout&lt;/em&gt;: Mostrar de que forma o posicionamento e ta&lt;a href=&quot;http://lh5.ggpht.com/_wPtp44I7-rc/TNIKZJoKozI/AAAAAAAACCo/3NfvTExmqbQ/s1600-h/Layout%5B7%5D.png&quot; target=&quot;_blank&quot;&gt;&lt;img style=&quot;background-image: none; border-right-width: 0px; margin: ; padding-left: 0px; padding-right: 0px; display: inline; float: right; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px&quot; title=&quot;Layout&quot; border=&quot;0&quot; alt=&quot;Layout&quot; align=&quot;right&quot; src=&quot;http://lh3.ggpht.com/_wPtp44I7-rc/TNIKaXaHXdI/AAAAAAAACCs/vtAlqM8MFmw/Layout_thumb%5B5%5D.png?imgmax=800&quot; width=&quot;244&quot; height=&quot;179&quot; /&gt;&lt;/a&gt;manho do elemento está sendo afetado. Alguns desses valores podem até ser alterado ali mesmo, mas nem sempre esta opção está liberada.&lt;/p&gt;  &lt;p&gt;&lt;em&gt;Attributes&lt;/em&gt;: Aqui encontramos todos as propriedades do objeto DOM. Pode-se incluir, alterar, excluir e visualizar todas as suas propriedades. Também pode-se visualizar as propriedades &lt;em&gt;Read-Only&lt;/em&gt; do mesmo.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;h5&gt;CSS&lt;/h5&gt;  &lt;p&gt;Nesta aba podemos ver todos os estilos CSS aplicados a página. Eles ficam separados por arquivos e podemos desabilitar um seletor inteiro ou estilos individuais de um seletor.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;h5&gt;Console&lt;/h5&gt;  &lt;p&gt;A aba console foi promovida de um pequeno espaço da aba&lt;a href=&quot;http://lh6.ggpht.com/_wPtp44I7-rc/TLwXfqtzaII/AAAAAAAACCw/shC8rgIoeCM/s1600-h/Console%5B2%5D.png&quot; target=&quot;_blank&quot;&gt;&lt;img style=&quot;background-image: none; border-right-width: 0px; margin: ; padding-left: 0px; padding-right: 0px; display: inline; float: right; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px&quot; title=&quot;Console&quot; border=&quot;0&quot; alt=&quot;Console&quot; align=&quot;right&quot; src=&quot;http://lh4.ggpht.com/_wPtp44I7-rc/TLwXgLWnXoI/AAAAAAAACC4/5VCsR4rvBnQ/Console_thumb%5B1%5D.png?imgmax=800&quot; width=&quot;193&quot; height=&quot;181&quot; /&gt;&lt;/a&gt; Script do IE8. &lt;/p&gt;  &lt;p&gt;Agora neste local é possível executar scripts diretamente e inspecionar objetos. &lt;/p&gt;  &lt;p&gt;Ao digitar o nome de um objeto no console e pressionar &lt;em&gt;Enter&lt;/em&gt; são apresentadas algumas de suas propriedades. Pode-se ver todos os detalhes do mesmo adicionando o objeto ao inspecionador pressionando o link &lt;em&gt;watch&lt;/em&gt;.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;h5&gt;Script&lt;/h5&gt;  &lt;p&gt;Com 5 opções diferentes de visualização a aba &lt;em&gt;script&lt;/em&gt; é desenhada especialmente para visualização e depuração de scripts da página. Mostra os arquivos javascripts separados e podemos até pesquisar dentro deles.&lt;/p&gt;  &lt;p&gt;&lt;em&gt;Console&lt;/em&gt;: Tem a mesma função da aba console comentada anteriormente, inclusive os comando execu&lt;a href=&quot;http://lh3.ggpht.com/_wPtp44I7-rc/TNIKcFkY1gI/AAAAAAAACC8/jGcs9EyzzQQ/s1600-h/Breakpoint%5B7%5D.png&quot; target=&quot;_blank&quot;&gt;&lt;img style=&quot;background-image: none; border-right-width: 0px; margin: ; padding-left: 0px; padding-right: 0px; display: inline; float: right; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px&quot; title=&quot;Breakpoint&quot; border=&quot;0&quot; alt=&quot;Breakpoint&quot; align=&quot;right&quot; src=&quot;http://lh5.ggpht.com/_wPtp44I7-rc/TNIKcysjExI/AAAAAAAACDE/93Q5jR8WI14/Breakpoint_thumb%5B5%5D.png?imgmax=800&quot; width=&quot;244&quot; height=&quot;160&quot; /&gt;&lt;/a&gt;tados aparecem em ambas.&lt;/p&gt;  &lt;p&gt;&lt;em&gt;Breakpoints&lt;/em&gt;: Todos os breakpoints adicionados ao código javascript aparecerão aqui. &lt;/p&gt;  &lt;p&gt;&lt;em&gt;Locals&lt;/em&gt;: Objetos javascript carregados no contexto atual aparecerão neste local, podemos percorrer suas propriedades e até altera-las.&lt;/p&gt;  &lt;p&gt;&lt;em&gt;Watch&lt;/em&gt;: Quando você adiciona um objeto java&lt;a href=&quot;http://lh3.ggpht.com/_wPtp44I7-rc/TNIKdzyNf9I/AAAAAAAACDI/3mCRYt-xWgE/s1600-h/Watch%5B8%5D.png&quot; target=&quot;_blank&quot;&gt;&lt;img style=&quot;background-image: none; border-right-width: 0px; margin: ; padding-left: 0px; padding-right: 0px; display: inline; float: right; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px&quot; title=&quot;Watch&quot; border=&quot;0&quot; alt=&quot;Watch&quot; align=&quot;right&quot; src=&quot;http://lh3.ggpht.com/_wPtp44I7-rc/TNIKerUK6AI/AAAAAAAACDM/kRv6vch4PWY/Watch_thumb%5B6%5D.png?imgmax=800&quot; width=&quot;244&quot; height=&quot;160&quot; /&gt;&lt;/a&gt;script ao inspecionador é aqui que ele aparecerá. Quando seu valor for alterado o mesmo aparecerá em vermelho.&lt;/p&gt;  &lt;p&gt;&lt;em&gt;Call stack&lt;/em&gt;: Muito importante quando se está depurando &lt;em&gt;script&lt;/em&gt; é saber quem invocou determinado método. Com o Call Stack podemos saber os passos que o código deu até chegar até determinado ponto, seja um &lt;em&gt;breakpoint&lt;/em&gt; ou um erro.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;h5&gt;Profiler&lt;/h5&gt;  &lt;p&gt;As vezes precisamos saber a causa de um comportamento inesperado em nossa aplicação, mas não sabemos o que fez ocorrer ou quantas vezes ocorreu.&lt;/p&gt;  &lt;p&gt;São nestes casos que podemos usar os &lt;em&gt;Profilers&lt;/em&gt;. Neles são registrados todos os &lt;em&gt;scrip&lt;a href=&quot;http://lh6.ggpht.com/_wPtp44I7-rc/TNIKfo1po1I/AAAAAAAACDQ/WHama4Wb-rM/s1600-h/Profiler%5B10%5D.png&quot; target=&quot;_blank&quot;&gt;&lt;img style=&quot;background-image: none; border-right-width: 0px; margin: ; padding-left: 0px; padding-right: 0px; display: inline; float: right; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px&quot; title=&quot;Profiler&quot; border=&quot;0&quot; alt=&quot;Profiler&quot; align=&quot;right&quot; src=&quot;http://lh5.ggpht.com/_wPtp44I7-rc/TNIKgfqhuoI/AAAAAAAACDU/JhmOb-ND37Q/Profiler_thumb%5B8%5D.png?imgmax=800&quot; width=&quot;235&quot; height=&quot;178&quot; /&gt;&lt;/a&gt;ts&lt;/em&gt; que executam em um determinado momento e com isso podemos verificar a ordem de chamadas &lt;em&gt;javascript&lt;/em&gt; feitas em um determinado período. &lt;/p&gt;  &lt;p&gt;Você já pensou em tentar rastrear os eventos que ocorrem quando se passa o mouse por cima do mapa do &lt;em&gt;Google Maps&lt;/em&gt;? Pois bem, com o &lt;em&gt;Profiler&lt;/em&gt; executando podemos ver todas as execuções que ocorrem, sem falar que podemos ver não só a quantidade e tempo gasto em cada método como também a ordem de execução.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;h5&gt;Network&lt;/h5&gt;  &lt;p&gt;Nova no IE9, a aba &lt;em&gt;Network&lt;/em&gt; traz funcionalidades já presentes no &lt;em&gt;&lt;a href=&quot;http://getfirebug.com/&quot; target=&quot;_blank&quot;&gt;Firebug&lt;/a&gt;&lt;/em&gt; e que muitos (inclusive eu) recorriam a outros programas, como o &lt;em&gt;&lt;a href=&quot;http://www.fiddler2.com/fiddler2/&quot; target=&quot;_blank&quot;&gt;Fiddler&lt;/a&gt;,&lt;/em&gt; para capturar o tráfego de internet de determinadas páginas.&lt;a href=&quot;http://lh5.ggpht.com/_wPtp44I7-rc/TNIKhVddheI/AAAAAAAACDY/s1Tr_luLdqE/s1600-h/Network%5B10%5D.png&quot; target=&quot;_blank&quot;&gt;&lt;img style=&quot;background-image: none; border-right-width: 0px; margin: ; padding-left: 0px; padding-right: 0px; display: inline; float: right; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px&quot; title=&quot;Network&quot; border=&quot;0&quot; alt=&quot;Network&quot; align=&quot;right&quot; src=&quot;http://lh6.ggpht.com/_wPtp44I7-rc/TNIKh0L0BpI/AAAAAAAACDc/KoyChVzTzuQ/Network_thumb%5B8%5D.png?imgmax=800&quot; width=&quot;244&quot; height=&quot;215&quot; /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Torna-se incrivelmente útil quando precisamos verificar o tráfego de arquivos de determinada página, tamanho de chamadas &lt;em&gt;Ajax&lt;/em&gt;, situação de cabeçalhos HTTP para averiguar &lt;em&gt;headers&lt;/em&gt; que estão presentes ou faltando.&lt;/p&gt;  &lt;p&gt;O recurso ainda traz dados detalhados de cada requisição, como os cabeçalhos HTTP enviados e recebidos, corpo da requisição e resposta e ainda um gráfico de onde foi gasto todo o tempo da mesma.&lt;/p&gt;  &lt;p&gt;Bom, acho que era isso por enquanto. Este artigo foi iniciado pouco antes do &lt;a href=&quot;http://www.microsoftpdc.com/&quot; target=&quot;_blank&quot;&gt;PDC10&lt;/a&gt; e do &lt;em&gt;&lt;a href=&quot;http://ie.microsoft.com/testdrive/Default.html&quot; target=&quot;_blank&quot;&gt;Plaform Preview 6&lt;/a&gt;&lt;/em&gt; ser lançado, então ocorreram algumas melhorias na engine do &lt;em&gt;Browser&lt;/em&gt; mas poucas diferenças nas abas (só notei a opção de identação de &lt;em&gt;scripts&lt;/em&gt;).&lt;/p&gt;  &lt;p&gt;Enjoy&lt;/p&gt;  </description><link>http://blog.vitorcanova.net/2010/10/internet-explorer-9-developer-tools.html</link><author>noreply@blogger.com (Vitor Canova)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://lh4.ggpht.com/_wPtp44I7-rc/TNIKTncbD7I/AAAAAAAACCY/YWTE1EEX0zY/s72-c/IE9_thumb%5B1%5D.png?imgmax=800" height="72" width="72"/><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-2720906137796848741.post-4182715703588791892</guid><pubDate>Fri, 24 Sep 2010 11:49:00 +0000</pubDate><atom:updated>2010-09-24T13:19:47.318-03:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Acid3</category><category domain="http://www.blogger.com/atom/ns#">ECMAScript5</category><category domain="http://www.blogger.com/atom/ns#">HTML5</category><category domain="http://www.blogger.com/atom/ns#">IE9</category><category domain="http://www.blogger.com/atom/ns#">Site Pinning</category><title>Internet Explorer 9 Beta lançado</title><description>&lt;p&gt;É, eu sei. Isso já é notícia velha, mas mesmo assim se faz necessário alguns comentários da minha parte. &lt;/p&gt;  &lt;p&gt;A versão Beta do IE9 foi lançada oficialmente em u&lt;a href=&quot;http://lh6.ggpht.com/_wPtp44I7-rc/TJyQLLsxwYI/AAAAAAAACBQ/3Rm6zqBT2LY/s1600-h/a938f1a0-9d2b-4031-be99-3f9f0b4c78dd%5B4%5D.jpg&quot; target=&quot;_blank&quot;&gt;&lt;img style=&quot;background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px&quot; title=&quot;Bing&quot; border=&quot;0&quot; alt=&quot;Bing&quot; align=&quot;right&quot; src=&quot;http://lh5.ggpht.com/_wPtp44I7-rc/TJyQLm7-qFI/AAAAAAAACBU/FQqyK5vUA4U/a938f1a0-9d2b-4031-be99-3f9f0b4c78dd_thumb%5B8%5D.jpg?imgmax=800&quot; width=&quot;194&quot; height=&quot;146&quot; /&gt;&lt;/a&gt;m &lt;a href=&quot;http://www.microsoft.com/presspass/presskits/internetexplorer/liveevent.aspx&quot; target=&quot;_blank&quot;&gt;evento em São Fancisco no último dia 15 de &lt;strike&gt;novembro&lt;/strike&gt; setembro&lt;/a&gt;. A versão conta com várias funcionalidades nunca vistas em browser da Microsoft, mas praticamente nada que os concorrentes não tivessem.&lt;/p&gt;  &lt;p&gt;&lt;a href=&quot;http://ie.microsoft.com/testdrive/Default.html&quot; target=&quot;_blank&quot;&gt;Aqui&lt;/a&gt; você encontra o site que testa várias das melhorias do IE9 como suporte as novas tags HTML5 canvas e video.&lt;/p&gt;  &lt;p&gt;O IE9 tem interface minimalista, ocupa bem menos espaç&lt;a href=&quot;http://lh5.ggpht.com/_wPtp44I7-rc/TJyQMECsIEI/AAAAAAAACBY/hOPBLMnMtZg/s1600-h/Acid3ScreenCapture%5B7%5D.png&quot; target=&quot;_blank&quot;&gt;&lt;img style=&quot;background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px&quot; title=&quot;Acid3ScreenCapture&quot; border=&quot;0&quot; alt=&quot;Acid3ScreenCapture&quot; align=&quot;right&quot; src=&quot;http://lh4.ggpht.com/_wPtp44I7-rc/TJyQMzrkNPI/AAAAAAAACBc/vBWDD-ZiDO8/Acid3ScreenCapture_thumb%5B10%5D.png?imgmax=800&quot; width=&quot;115&quot; height=&quot;84&quot; /&gt;&lt;/a&gt;o na parte superior e tem um visual mais translúcido. Você pode finalmente destacar as abas do browser como no Chrome e o Firefox. É compatível com o ECMAScript 5 (nome de verdade do javascript novo) e com o CSS3. &lt;a href=&quot;http://lh3.ggpht.com/_wPtp44I7-rc/TJyQRshEi-I/AAAAAAAACBg/GkB5U3a79E0/s1600-h/Tab%5B12%5D.png&quot; target=&quot;_blank&quot;&gt;&lt;img style=&quot;background-image: none; border-right-width: 0px; margin: 0px 2px 0px 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px&quot; title=&quot;Tab&quot; border=&quot;0&quot; alt=&quot;Tab&quot; align=&quot;left&quot; src=&quot;http://lh4.ggpht.com/_wPtp44I7-rc/TJyQSRge1DI/AAAAAAAACBk/5qx-iKoVdhI/Tab_thumb%5B10%5D.png?imgmax=800&quot; width=&quot;118&quot; height=&quot;90&quot; /&gt;&lt;/a&gt;Também terá modos de compatibilidade como no IE8 fazendo com que sites antigos continuem funcionando sem alteração (na teoria).&lt;/p&gt;  &lt;p&gt;Essa nova versão foi lançada junto com um site que apresenta as diversas funcionalidades do browser. Você pode conferir &lt;a href=&quot;http://www.beautyoftheweb.com/&quot; target=&quot;_blank&quot;&gt;aqui&lt;/a&gt;, mesmo que ainda não tenha baixado o IE9.&lt;/p&gt;  &lt;p&gt;Bom, agora que já falei sobre tudo que ele tem de parecido com os outros, vamos a novidade. &lt;/p&gt;  &lt;h5&gt;Site Pinning&lt;/h5&gt;  &lt;p&gt;O IE9 é o primeiro browser (que eu saiba) que usa a &lt;a href=&quot;http://lh5.ggpht.com/_wPtp44I7-rc/TJyQTnh25LI/AAAAAAAACBo/uiq1ps8ji9I/s1600-h/New%20Picture%20%282%29%5B11%5D.png&quot; target=&quot;_blank&quot;&gt;&lt;img style=&quot;background-image: none; border-right-width: 0px; margin: 0px 2px 0px 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px&quot; title=&quot;Aero Peek&quot; border=&quot;0&quot; alt=&quot;Aero Peek&quot; align=&quot;left&quot; src=&quot;http://lh6.ggpht.com/_wPtp44I7-rc/TJyQUr4Pe5I/AAAAAAAACBs/ZuWF6xtB73s/New%20Picture%20%282%29_thumb%5B9%5D.png?imgmax=800&quot; width=&quot;175&quot; height=&quot;94&quot; /&gt;&lt;/a&gt;funcionalidade &lt;a href=&quot;http://ie.microsoft.com/testdrive/Browser/SitePinning/Default.html&quot; target=&quot;_blank&quot;&gt;Site Pinning&lt;/a&gt;. Com isso é possível destacar as abas e coloca-las diretamente na barra de tarefas (Disponível no Windows 7). Isso faz com que o site crie um ícone personalizado e que tenha um grupo especial para o &lt;a href=&quot;http://windows.microsoft.com/en-US/windows7/Preview-an-open-window-on-the-desktop-using-Peek&quot; target=&quot;_blank&quot;&gt;Aero Peek&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;Você também pode incluir meta tags para que apare&lt;a href=&quot;http://lh5.ggpht.com/_wPtp44I7-rc/TJyQVGcgqqI/AAAAAAAACBw/knguwiMqV7c/s1600-h/Tasks%5B19%5D.png&quot; target=&quot;_blank&quot;&gt;&lt;img style=&quot;background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px&quot; title=&quot;Tasks&quot; border=&quot;0&quot; alt=&quot;Tasks&quot; align=&quot;right&quot; src=&quot;http://lh3.ggpht.com/_wPtp44I7-rc/TJyQVqsALXI/AAAAAAAACB0/PzUuZDxUHxw/Tasks_thumb%5B17%5D.png?imgmax=800&quot; width=&quot;141&quot; height=&quot;188&quot; /&gt;&lt;/a&gt;çam como tarefas ao clicar com o botão direito do mouse sobre ele, além de poder criar uma lista personalizada. Também é possível alterar o overlay do ícone na barra de tarefas para notificar o usuário mesmo que o site não esteja visível. Pode-se colocar botões de ação diretamente no preview do Aero Peek bem como personalizar os botões de avançar e voltar do browser.&lt;/p&gt;  &lt;p&gt;Só pra isso já daria pra preperar um post especial, mas pra quem já quiser indo aprender pode consultar a página do &lt;a title=&quot;Pinned Sites: Windows 7 Desktop Integration with Internet Explorer 9&quot; href=&quot;http://msdn.microsoft.com/en-us/library/gg131029(VS.85).aspx&quot; target=&quot;_blank&quot;&gt;MSDN&lt;/a&gt;&lt;a href=&quot;http://lh6.ggpht.com/_wPtp44I7-rc/TJyQWXqw0_I/AAAAAAAACB4/nWLgy6Dj30k/s1600-h/Pinned%5B8%5D.png&quot; target=&quot;_blank&quot;&gt;&lt;img style=&quot;background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px&quot; title=&quot;Pinned&quot; border=&quot;0&quot; alt=&quot;Pinned&quot; align=&quot;right&quot; src=&quot;http://lh6.ggpht.com/_wPtp44I7-rc/TJyQW5Y-ZuI/AAAAAAAACB8/xoVP6dJWa5A/Pinned_thumb%5B6%5D.png?imgmax=800&quot; width=&quot;146&quot; height=&quot;218&quot; /&gt;&lt;/a&gt;&lt;/a&gt; que já se encontra disponível para ajudar na implementação de tudo isso.&lt;/p&gt;  &lt;p&gt;Eu fiz a minha parte, já que o Google ainda não tem as Tasks criadas eu fiz um bookmarklet que adiciona os principais serviços do Google em um site Pinned. Basta criar um link favorito com &lt;a href=&quot;javascript:var s=document.createElement(&#39;script&#39;);s.setAttribute(&#39;src&#39;,&#39;http://www.vitorcanova.net/scripts/JumpList.js&#39;);document.body.appendChild(s);void(0);&quot;&gt;este&lt;/a&gt; link, no meu caso eu só arrastei o link para os favoritos e funcionou. Depois Abra a página já em modo Pinned e clique no novo favorito.&lt;/p&gt;  &lt;p&gt;Só lembrando que o IE9 ainda está em versão Beta e várias dessas funcionalidades podem ser alteradas.&lt;/p&gt;  &lt;p&gt;Enjoy&lt;/p&gt;  </description><link>http://blog.vitorcanova.net/2010/09/internet-explorer-9-beta-lancado.html</link><author>noreply@blogger.com (Vitor Canova)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://lh5.ggpht.com/_wPtp44I7-rc/TJyQLm7-qFI/AAAAAAAACBU/FQqyK5vUA4U/s72-c/a938f1a0-9d2b-4031-be99-3f9f0b4c78dd_thumb%5B8%5D.jpg?imgmax=800" height="72" width="72"/><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-2720906137796848741.post-410275878032706188</guid><pubDate>Thu, 05 Aug 2010 00:53:00 +0000</pubDate><atom:updated>2010-08-04T21:53:16.871-03:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Windows Live Essentials</category><title>Windows Live Essentials Beta</title><description>Estou tendo minha primeira experiência com o novo &lt;a href=&quot;http://explore.live.com/windows-live-essentials-beta&quot; target=&quot;_blank&quot;&gt;Windows Live Essentials Beta&lt;/a&gt;, lançado no mês passado.&lt;br /&gt;
Ele vem com um pacote com vários programas, são eles (Todos tem o nome prefixo &quot;Windows Live&quot;): Messenger, Mail, Bing Bar, Messenger Companion, Photo Gallery, Movie Maker, Writer, Sync, Family Safety e Outlook Connector Pack.&lt;br /&gt;
&lt;a href=&quot;http://lh3.ggpht.com/_wPtp44I7-rc/TFoKhQ3X0-I/AAAAAAAACAo/ftEAN0ezxOA/s1600-h/1%5B59%5D.png&quot; target=&quot;_blank&quot;&gt;&lt;img align=&quot;right&quot; alt=&quot;Family Safety&quot; border=&quot;0&quot; class=&quot;wlDisabledImage&quot; height=&quot;169&quot; src=&quot;http://lh6.ggpht.com/_wPtp44I7-rc/TFoKiNLrYcI/AAAAAAAACAs/o5BVTCdqd3I/1_thumb%5B56%5D.png?imgmax=800&quot; style=&quot;border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; display: inline;&quot; title=&quot;Family Safety&quot; width=&quot;205&quot; /&gt;&lt;/a&gt;&lt;br /&gt;
Não cheguei a instalar e nem testar todos, mas alguns que dei uma olhada me chamaram bastante atenção. Vou falar um pouco deles.&lt;br /&gt;
&lt;span style=&quot;color: #809ec2;&quot;&gt;&lt;strong&gt;Family Safety&lt;/strong&gt;&lt;/span&gt;: Ferramenta que monitora a atividade do computador. Você pode bloquear e monitorar sites, programas, jogos e depois ainda visualizar tudo online. É orientado a usuário do Windows, portanto você pode configurar individualmente para cada usuário, seja filho, irmão mais novo ou cachorro (quem sabe).&lt;br /&gt;
&lt;span style=&quot;color: #4bacc6;&quot;&gt;&lt;strong&gt;Sync&lt;/strong&gt;&lt;/span&gt;: Como o nome sugere ele sincroniza dados do computador. Faz isso armazenando nos 25GB do &lt;a href=&quot;http://explore.live.com/windows-live-skydrive&quot; target=&quot;_blank&quot;&gt;Sky Drive&lt;/a&gt;. Dentre as opções está a sincronização do Internet Explorer, Outlook e pastas do computador.&lt;a href=&quot;http://lh5.ggpht.com/_wPtp44I7-rc/TFoKj2rvsuI/AAAAAAAACAw/09_BmwaZolw/s1600-h/Sync%5B12%5D.png&quot; target=&quot;_blank&quot;&gt;&lt;img align=&quot;right&quot; alt=&quot;Sync&quot; border=&quot;0&quot; class=&quot;wlDisabledImage&quot; height=&quot;89&quot; src=&quot;http://lh5.ggpht.com/_wPtp44I7-rc/TFoKkVOJftI/AAAAAAAACA0/MXL9s9U5GnE/Sync_thumb%5B10%5D.png?imgmax=800&quot; style=&quot;border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; display: inline;&quot; title=&quot;Sync&quot; width=&quot;117&quot; /&gt;&lt;/a&gt;&lt;br /&gt;
Opções de permissão podem ser configuradas para cada item de pasta cadastrado e você pode ter vários perfis informando que uma pasta será sincronizada em um local e outro não. Como seria o caso de não sincronizar suas fotos com o escritório mas os documentos sim.&lt;br /&gt;
&lt;strong&gt;&lt;span style=&quot;color: #4bacc6;&quot;&gt;Photo Gallery e Movie Maker&lt;/span&gt;&lt;/strong&gt;: Esses dois programas são t&lt;a href=&quot;http://lh3.ggpht.com/_wPtp44I7-rc/TFoKnQCnHfI/AAAAAAAACA4/KrXa6whBgOo/s1600-h/Photo%20Gallery%20e%20Movie%20Maker%5B8%5D.png&quot;&gt;&lt;img align=&quot;right&quot; alt=&quot;Photo Gallery e Movie Maker&quot; border=&quot;0&quot; class=&quot;wlDisabledImage&quot; height=&quot;163&quot; src=&quot;http://lh5.ggpht.com/_wPtp44I7-rc/TFoKoHkaO5I/AAAAAAAACA8/VOySt5C7TB4/Photo%20Gallery%20e%20Movie%20Maker_thumb%5B6%5D.png?imgmax=800&quot; style=&quot;border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; display: inline;&quot; title=&quot;Photo Gallery e Movie Maker&quot; width=&quot;224&quot; /&gt;&lt;/a&gt;udo que você precisa para criar e editar vídeos, fazer pequenas correções e organizar suas fotos e publicar em sites como Blogger, Youtube, Facebook e muitos outros. Eles tem um sistema integrado onde você envia diretamente para estes serviços, sempre precisar fazer muito mais do que o seu login. &lt;br /&gt;
&lt;span style=&quot;color: #4f81bd;&quot;&gt;&lt;strong&gt;Writer&lt;/strong&gt;&lt;/span&gt;: Mais uma ferramenta que se integra com out&lt;a href=&quot;http://lh5.ggpht.com/_wPtp44I7-rc/TFoKpUqtFwI/AAAAAAAACBA/ONkvFGXtuLs/s1600-h/Writer%5B11%5D.png&quot; target=&quot;_blank&quot;&gt;&lt;img align=&quot;right&quot; alt=&quot;Writer&quot; border=&quot;0&quot; class=&quot;wlDisabledImage&quot; height=&quot;146&quot; src=&quot;http://lh3.ggpht.com/_wPtp44I7-rc/TFoKp5jprWI/AAAAAAAACBE/XQmN0aSbvtI/Writer_thumb%5B9%5D.png?imgmax=800&quot; style=&quot;border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; display: inline;&quot; title=&quot;Writer&quot; width=&quot;145&quot; /&gt;&lt;/a&gt;ros serviços, como é o caso do Blogger. Você consegue incluir vídeos, fotos, links e fazer uma completa editoração sem precisar visitar o site. Pode até visualizar o Preview diretamente nele. Inclusive, se este post está bem formatado é graças a ele.&lt;br /&gt;
Este post foi feito inteiramente no Windows Live Writer, formatação, inclusão edição de imagens. Se ficou bom é porque deu tudo certo.&lt;br /&gt;
Enjoy</description><link>http://blog.vitorcanova.net/2010/08/windows-live-essentials-beta.html</link><author>noreply@blogger.com (Vitor Canova)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://lh6.ggpht.com/_wPtp44I7-rc/TFoKiNLrYcI/AAAAAAAACAs/o5BVTCdqd3I/s72-c/1_thumb%5B56%5D.png?imgmax=800" height="72" width="72"/><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-2720906137796848741.post-1598073239826205263</guid><pubDate>Tue, 08 Jun 2010 02:50:00 +0000</pubDate><atom:updated>2010-06-07T23:54:38.983-03:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Visual Studio 2010</category><title>Habilitar o IDE Navigator no Visual Studio 2010</title><description>Uma das features que acabaram ficando de fora da instalação final do Visual Studio 2010 foi o preview do&amp;nbsp;&lt;a href=&quot;http://blogs.msdn.com/b/zainnab/archive/2010/05/17/using-the-ide-navigator-vstiptool0023.aspx&quot;&gt;IDE Navigator&lt;/a&gt;. &lt;br /&gt;
&lt;br /&gt;
&lt;div style=&quot;float: right; padding-bottom: 2px; padding-left: 2px; padding-right: 2px; padding-top: 2px;&quot;&gt;&lt;img src=&quot;http://2.bp.blogspot.com/_wPtp44I7-rc/TA2rvUYi2oI/AAAAAAAAB_4/rIJnK2T0-K8/s1600/image_4%5B1%5D.png&quot; style=&quot;width: 150px;&quot; /&gt;&lt;/div&gt;Pra quem não conhece, o IDE Navigator é o painél que é visualizado quando pressionamos a combinação de teclas CTRL+TAB. O Visual Studio mostra os documentos abertos e ajuda na seleção dos mesmos, útil&amp;nbsp;caso eles não estejam aparecendo nas abas.&lt;br /&gt;
&lt;br /&gt;
No Visual Studio 2010, versões Beta e RC, quando se pressionava essa combinação de teclas aparecia o preview do documento, tal qual era na versão 2008. Pouco antes do Release final essa feature foi retirada porque em alguns computadores low-end isso degradava bastante a performance.&lt;br /&gt;
&lt;br /&gt;
Para habilitar novamente esta opção basta executar este comando no prompt:&lt;br /&gt;
&lt;br /&gt;
&lt;pre style=&quot;font-family: courier; font-size: 8px;&quot;&gt;reg ADD HKCU\Software\Microsoft\VisualStudio\10.0\General /v ShowThumbnailsOnNavigation /t REG_DWORD /d 1
&lt;/pre&gt;&lt;br /&gt;
Basicamente este linha adiciona uma chave nova ao registro. Após isso basta reiniciar o Visual Studio.&lt;br /&gt;
&lt;br /&gt;
Enjoy</description><link>http://blog.vitorcanova.net/2010/06/habilitar-o-ide-navigator-no-visual.html</link><author>noreply@blogger.com (Vitor Canova)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://2.bp.blogspot.com/_wPtp44I7-rc/TA2rvUYi2oI/AAAAAAAAB_4/rIJnK2T0-K8/s72-c/image_4%5B1%5D.png" height="72" width="72"/><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-2720906137796848741.post-9026345598527559839</guid><pubDate>Tue, 25 May 2010 03:56:00 +0000</pubDate><atom:updated>2010-05-25T00:56:28.031-03:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Framework 4.0</category><category domain="http://www.blogger.com/atom/ns#">Poster</category><category domain="http://www.blogger.com/atom/ns#">Windows Identity Foundation</category><title>Poster .NET Framework 4 e Windows Identity Foundation</title><description>Pra quem ainda não tem, segue o &lt;a href=&quot;http://download.microsoft.com/download/E/6/A/E6A8A715-7695-493C-8CFA-8E0C23A4BE1D/098-115952-NETFX4-Poster.pdf&quot;&gt;poster do .NET Framework 4&lt;/a&gt;. Tem legendas para mostrar os itens disponíveis no Silverlight 4 bem como no Client Profile. &lt;br /&gt;
&lt;div style=&quot;float: right; padding-bottom: 2px; padding-left: 2px; padding-right: 2px; padding-top: 2px;&quot;&gt;&lt;a href=&quot;http://download.microsoft.com/download/E/6/A/E6A8A715-7695-493C-8CFA-8E0C23A4BE1D/098-115952-NETFX4-Poster.pdf&quot;&gt;&lt;img src=&quot;http://4.bp.blogspot.com/_wPtp44I7-rc/S_tJRLwz4bI/AAAAAAAAB_0/h7oNxcc-l4g/s1600/netfx4.jpg&quot; /&gt;&lt;/a&gt;&lt;/div&gt;Ele deve ficar bem impresso em impressoras que suportam formato 24&quot;x36&quot;.&lt;br /&gt;
No poster também já constam os Namespaces do &lt;a href=&quot;http://msdn.microsoft.com/en-us/security/aa570351.aspx&quot;&gt;Windows Identity Foundation&lt;/a&gt; . Está aí algo que ouvi falar muito pouco. Pelo que entendi é uma forma de&amp;nbsp;promover mais&amp;nbsp;o pouco badalado CardSpace. &lt;br /&gt;
&lt;br /&gt;
O Windows Identity Foundation foi chamado em suas versões pré RTM de &quot;Geneva&quot;, as vezes até confundido pura e simplesmente com o Windows CardSpace 2.0. Porém o Windows Identity Foundation também engloba o Active Directory Federation Services 2.0.&lt;br /&gt;
&lt;br /&gt;
Maiores informações em &lt;a href=&quot;http://msdn.microsoft.com/en-us/security/aa570351.aspx&quot;&gt;Windows Identity Foundation Simplifies User Access for Developers&lt;/a&gt;.&lt;br /&gt;
&lt;br /&gt;
Enjoy</description><link>http://blog.vitorcanova.net/2010/05/poster-net-framework-4-e-windows.html</link><author>noreply@blogger.com (Vitor Canova)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://4.bp.blogspot.com/_wPtp44I7-rc/S_tJRLwz4bI/AAAAAAAAB_0/h7oNxcc-l4g/s72-c/netfx4.jpg" height="72" width="72"/><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-2720906137796848741.post-459018570659077885</guid><pubDate>Tue, 18 May 2010 03:54:00 +0000</pubDate><atom:updated>2010-05-18T00:54:36.905-03:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Silverlight 4</category><category domain="http://www.blogger.com/atom/ns#">Toolkit</category><title>Silverlight 4 Tools finalmente lançado</title><description>Após grande espera a equipe de desenvolvimento do &lt;a href=&quot;http://silverlight.codeplex.com/&quot;&gt;Silverlight Tools&lt;/a&gt; finalmente entregou esta manhã&amp;nbsp;(17/05) a&amp;nbsp; versão 4 das ferramentas para desenvolvimento na plataforma. (apesar do &lt;a href=&quot;http://silverlight.codeplex.com/SourceControl/changeset/changes/47051&quot;&gt;check-in&lt;/a&gt; ter sido feito dia 15/05)&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;http://silverlight.codeplex.com/&quot; imageanchor=&quot;1&quot; style=&quot;clear: right; cssfloat: right; float: right; margin-bottom: 1em; margin-left: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;46&quot; src=&quot;http://4.bp.blogspot.com/_wPtp44I7-rc/S_IO96ghHJI/AAAAAAAAB_w/wrZQ5dA2ULY/s200/FileDownload%5B1%5D.aspx_ProjectName=Silverlight&amp;amp;DownloadId=88223&amp;amp;Build=16586&quot; width=&quot;200&quot; wt=&quot;true&quot; /&gt;&lt;/a&gt;&lt;/div&gt;O &lt;a href=&quot;http://silverlight.net/content/samples/sl4/toolkitcontrolsamples/run/default.html&quot;&gt;Silverlight 4 Tools&lt;/a&gt; pode ser instalado sem problemas em computadores que tenham a versão RC. O próprio instalador se encarregará de fazer as desinstalações necessárias. Mas se você tiver uma versão do WCF RIA Services do Silverlight 3 Tools é melhor desinstalar antes pois já ocorreram casos de problema no processo de instalação.&lt;br /&gt;
&lt;br /&gt;
Pra quem não sabe o &lt;a href=&quot;http://download.microsoft.com/download/C/C/1/CC18960F-C22B-4E50-AE59-3424194933B7/Silverlight4_Tools.exe&quot;&gt;download do Silverlight 4 Tools&lt;/a&gt; é composto pelos seguintes itens:&lt;br /&gt;
&lt;ul&gt;&lt;li&gt;Silverlight 4 SDK&lt;/li&gt;
&lt;li&gt;Silverlight 4 Developer Runtime&lt;/li&gt;
&lt;li&gt;Silverlight 4 Update para Visual Studio 2010&lt;/li&gt;
&lt;li&gt;Silverlight 4 Tools Package (Toolkit April 2010)&lt;/li&gt;
&lt;li&gt;WCF RIA Services&lt;/li&gt;
&lt;li&gt;F# Runtine para Silverlight 4 (é, eu sei, mas veio junto)&lt;/li&gt;
&lt;/ul&gt;Também foi disponibilizado separadamente os &lt;a href=&quot;http://timheuer.com/blog/archive/2010/05/03/new-silverlight-4-themes-available-for-download.aspx&quot;&gt;Application Themes&lt;/a&gt;, que podem ser baixados &lt;a href=&quot;http://www.microsoft.com/downloads/details.aspx?FamilyID=e9da0eb8-f31b-4490-85b8-92c2f807df9e&amp;amp;displaylang=en&quot;&gt;aqui&lt;/a&gt;.&lt;br /&gt;
&lt;br /&gt;
Enjoy</description><link>http://blog.vitorcanova.net/2010/05/silverlight-4-tools-finalmente-lancado.html</link><author>noreply@blogger.com (Vitor Canova)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://4.bp.blogspot.com/_wPtp44I7-rc/S_IO96ghHJI/AAAAAAAAB_w/wrZQ5dA2ULY/s72-c/FileDownload%5B1%5D.aspx_ProjectName=Silverlight&amp;DownloadId=88223&amp;Build=16586" height="72" width="72"/><thr:total>2</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-2720906137796848741.post-8323156914561594686</guid><pubDate>Tue, 11 May 2010 10:20:00 +0000</pubDate><atom:updated>2010-05-11T07:20:32.792-03:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Visual Studio 2010</category><category domain="http://www.blogger.com/atom/ns#">Web.config</category><title>Web.config Transformation Syntax</title><description>Acabo de adicionar ao meu &lt;a href=&quot;http://blog.vitorcanova.net/2010/04/visual-studio-2010-rtm.html&quot;&gt;post&lt;/a&gt; sobre o lançamento do Visual Studio 2010 um &lt;a href=&quot;http://msdn.microsoft.com/en-us/library/dd465326.aspx&quot;&gt;artigo&lt;/a&gt; interessante do MSDN sobre transformação do Web.config (Web.config Transformation Syntax).&lt;br /&gt;
&lt;br /&gt;
&lt;div style=&quot;float:right;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;http://3.bp.blogspot.com/_wPtp44I7-rc/S3ExYQb8IAI/AAAAAAAAB_Q/BDkHyZgPteo/s1600/ee402630_VisualStudio_lg.png&quot; /&gt;&lt;/div&gt;Pra quem não sabe ainda, no Visual Studio 2010 é possível ter um arquivo de configuração Web.config para cada configuração da solução. Ou seja, você terá um arquivo para Release, outro para Debug e tantos quantos você achar necessário.&lt;br /&gt;
&lt;br /&gt;
Na aplicação existirá um arquivo de configuração base, e nos arquivos derivados deste será possível adicionar ou remover chaves bem como alterar seus valores. Para maiores informação verifique o &lt;a href=&quot;http://msdn.microsoft.com/en-us/library/dd465326.aspx&quot;&gt;post&lt;/a&gt; completo do MSDN.</description><link>http://blog.vitorcanova.net/2010/05/webconfig-transformation-syntax.html</link><author>noreply@blogger.com (Vitor Canova)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://3.bp.blogspot.com/_wPtp44I7-rc/S3ExYQb8IAI/AAAAAAAAB_Q/BDkHyZgPteo/s72-c/ee402630_VisualStudio_lg.png" height="72" width="72"/><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-2720906137796848741.post-4106648773334196273</guid><pubDate>Fri, 16 Apr 2010 17:02:00 +0000</pubDate><atom:updated>2010-05-21T10:56:26.199-03:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Breaking Changes</category><category domain="http://www.blogger.com/atom/ns#">RTW</category><category domain="http://www.blogger.com/atom/ns#">Silverlight 4</category><category domain="http://www.blogger.com/atom/ns#">wishlist</category><title>Silverlight 4 RTW</title><description>&lt;div style=&quot;float: right; padding-bottom: 2px; padding-left: 2px; padding-right: 2px; padding-top: 2px;&quot;&gt;&lt;img src=&quot;http://2.bp.blogspot.com/_wPtp44I7-rc/SxTrCUYkqeI/AAAAAAAAB9A/hLlGYTebiKQ/s1600/sl4bloglogo%5B1%5D.png&quot; style=&quot;width: 80px;&quot; /&gt;&lt;/div&gt;Esta semana foi finalmente lançada a versão RTW(Release to Web) do Silverlight 4.&lt;br /&gt;
&lt;br /&gt;
Requisitos básicos:&lt;br /&gt;
&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;http://www.microsoft.com/visualstudio/&quot;&gt;Visual Studio 2010&lt;/a&gt; ou&lt;a href=&quot;http://www.microsoft.com/express/Web/&quot;&gt; Visual Web Developer 2010 Express&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;color: red;&quot;&gt;&lt;strike&gt;Silverlight 4 Tools RC&lt;/strike&gt;&lt;strike&gt;. (por enquanto não existe versão RTW já que o próprio Silverlight 4 a recém foi lançado)&lt;/strike&gt;&lt;/span&gt; &lt;a href=&quot;http://blog.vitorcanova.net/2010/05/silverlight-4-tools-finalmente-lancado.html&quot;&gt;Silverlight 4 Tools lançado!&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;Considerações importantes:&lt;br /&gt;
&lt;ul&gt;&lt;li&gt;Para desenvolvimento Windows Phone 7 ainda é necessário usar&amp;nbsp;o &lt;a href=&quot;http://www.microsoft.com/downloads/details.aspx?FamilyID=2338b5d1-79d8-46af-b828-380b0f854203&amp;amp;displaylang=en&quot;&gt;Windows Phone Developer Tools&amp;nbsp;CTP&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;Tanto o Visual Studio 2010 quanto o Silverlight 4 podem ser instalados lado-a-lado com as versões anteriores( VS 2008 e Silverlight 3).&lt;/li&gt;
&lt;li&gt;WCF RIA Services só pode ter uma versão instalada. Ou seja, ou será usado no Visual Studio 2008 ou no Visual Studio 2010.&lt;/li&gt;
&lt;/ul&gt;Foram inúmeras as melhorias, principalmente na experiência Out-Of-Browser, performance, desenvolvimento para Windows Phone 7, ContextMenu, WebCam, Microfone, Print Support etc.&lt;br /&gt;
&lt;br /&gt;
Também foi feita uma revisão significativa no XAML Parser, e algumas das novidades podem ser vistar &lt;a href=&quot;http://www.davidpoll.com/2010/03/15/new-in-the-silverlight-4-rc-xaml-features/&quot;&gt;aqui&lt;/a&gt;.&lt;br /&gt;
&lt;br /&gt;
Algumas funcionalidades eram esperadas a muito tempo, entre elas suporte a componentes COM, possibilidade de mostrar conteúdo html, sem falar no Tooling proporcionado pelo Visual Studio 2010. Ainda sobre o Visual Studio 2010, já aparecem várias extensões, como a &lt;a href=&quot;http://karlshifflett.wordpress.com/2010/03/21/visual-studio-2010-xaml-editor-intellisense-presenter-extension/&quot;&gt;XAML IntelliSense Presenter&lt;/a&gt;&amp;nbsp;,&amp;nbsp; &lt;a href=&quot;http://karlshifflett.wordpress.com/xaml-power-toys/&quot;&gt;XAML Power Toys&lt;/a&gt; e o &lt;a href=&quot;http://karlshifflett.wordpress.com/xaml-power-toys-for-cider/&quot;&gt;XAML Power Toys for Cider&lt;/a&gt;.&lt;br /&gt;
&lt;br /&gt;
A lista completa de features pode ser conferida &lt;a href=&quot;http://timheuer.com/blog/archive/2009/11/18/whats-new-in-silverlight-4-complete-guide-new-features.aspx&quot;&gt;aqui&lt;/a&gt; e &lt;a href=&quot;http://timheuer.com/blog/archive/2010/03/15/whats-new-in-silverlight-4-rc-mix10.aspx&quot;&gt;aqui&lt;/a&gt;: &lt;br /&gt;
&lt;br /&gt;
Pra quem quer começar a desenvolver com Silverlight 4 pode acessar o &lt;a href=&quot;http://channel9.msdn.com/learn/courses/Silverlight4/&quot;&gt;Silverlight Training Course&lt;/a&gt; e assistir a vários vídeos que auxiliam a aprender de forma fácil.&lt;br /&gt;
&lt;br /&gt;
Pra quem já sabe Silverlight 3 e quer se atualizar com Silverlight 4&amp;nbsp;pode acessar o &lt;a href=&quot;http://msdn.microsoft.com/en-us/library/cc645049(VS.96).aspx&quot;&gt;Braking Changes&lt;/a&gt;, onde podem ser vistas as várias diferenças entre as versões.&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;color: red;&quot;&gt;&amp;lt;edit&amp;gt;&lt;/span&gt;&lt;br /&gt;
&lt;a href=&quot;http://msdn.microsoft.com/en-us/library/ee721083(VS.95).aspx&quot;&gt;Trusted (elevated) Applications&lt;/a&gt;&lt;br /&gt;
&lt;a href=&quot;http://download.microsoft.com/download/A/1/A/A1A80A28-907C-4C6A-8036-782E3792A408/Silverlight%20Security%20Overview.docx&quot;&gt;Security Whitepaper&lt;/a&gt;&lt;br /&gt;
&lt;a href=&quot;http://live.visitmix.com/MIX10/Sessions/EX16&quot;&gt;Mix Session: Securing Microsoft Silverlight Applications&lt;/a&gt;&lt;br /&gt;
&lt;a href=&quot;http://silverlight.mswish.net/&quot;&gt;Wishlist Silverlight 5 and Beyond&lt;/a&gt;&lt;br /&gt;
&lt;a href=&quot;http://www.microsoft.com/downloads/details.aspx?familyid=24CEA29E-042E-41C9-AA16-684A0CA5F5DB&amp;amp;displaylang=en&quot;&gt;Download Silverlight 4 Training&lt;/a&gt;&lt;br /&gt;
&lt;span style=&quot;color: red;&quot;&gt;&amp;lt;/edit&amp;gt;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
Enjoy</description><link>http://blog.vitorcanova.net/2010/04/silverlight-4-rtw.html</link><author>noreply@blogger.com (Vitor Canova)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://2.bp.blogspot.com/_wPtp44I7-rc/SxTrCUYkqeI/AAAAAAAAB9A/hLlGYTebiKQ/s72-c/sl4bloglogo%5B1%5D.png" height="72" width="72"/><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-2720906137796848741.post-7980885556939273142</guid><pubDate>Mon, 12 Apr 2010 10:56:00 +0000</pubDate><atom:updated>2010-05-26T22:49:04.234-03:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Breaking Changes</category><category domain="http://www.blogger.com/atom/ns#">Framework 4.0</category><category domain="http://www.blogger.com/atom/ns#">Visual Studio 2010</category><title>Visual Studio 2010 .NET Framework 4 RTM</title><description>Hoje será finalmente lançado do tão esperado Visual Studio 2010. &lt;br /&gt;
&lt;br /&gt;
O vídeo de apresentação pode ser conferido &lt;a href=&quot;http://www.microsoft.com/visualstudio/en-us/watch-it-live&quot;&gt;aqui&lt;/a&gt;, passará ao vivo a partir das 8:30 (GMT-3).&lt;br /&gt;
&lt;br /&gt;
Dentre as várias novidades está a nova interface de desenvolvimento. Ela foi em parte redesenhada em WPF e possui várias features como Zoom, janelas que podem ser deslocadas para outro monitor, possibilidade de personalizar programaticamente a parte (até então um fundo branco) onde colocamos o código.&lt;br /&gt;
&lt;br /&gt;
Também foi feito um esforço muito grande na questão de performance da aplicação em sí para que não se tornasse algo pesado e lento como a versão beta 1.&lt;br /&gt;
&lt;br /&gt;
Estará disponível para download a partir de hoje (12/04) para os que tem &lt;a href=&quot;https://msdn.microsoft.com/en-us/subscriptions/manage/cc137115.aspx&quot;&gt;inscrições MSDN&lt;/a&gt;. Também haverá disponível a versão express, completamente gratuita.&lt;br /&gt;
&lt;br /&gt;
Existem 4 versões diferentes, Professional, Premium, Ultimate e Test Professional. A diferença entre cada uma pode ser conferida &lt;a href=&quot;http://www.microsoft.com/visualstudio/en-us/products&quot;&gt;aqui&lt;/a&gt;. &lt;br /&gt;
&lt;br /&gt;
Mais sobre este lançamento após as primeira impressões dele.&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;color: red;&quot;&gt;&amp;lt;edit&amp;gt;&lt;/span&gt;&lt;br /&gt;
&lt;a href=&quot;http://msdn.microsoft.com/en-us/library/ee941656.aspx&quot;&gt;.NET Framework 4 Migration Issues&lt;/a&gt;&lt;br /&gt;
&lt;a href=&quot;http://www.microsoft.com/presspass/presskits/developer/docs/Microsoft_VS2010_ReviewersGuide.xps&quot;&gt;Reviewer’s Guide&lt;/a&gt;&lt;br /&gt;
&lt;a href=&quot;http://blogs.msdn.com/lisa/archive/2010/04/16/vs-2010-keyboard-shortcut-posters-now-available-for-vb-c-f-c.aspx&quot;&gt;Keyboard Shortcut Posters&lt;/a&gt;&lt;br /&gt;
&lt;a href=&quot;http://blogs.msdn.com/jgoldb/archive/2010/04/12/what-s-new-in-net-framework-4-client-profile-rtm.aspx&quot;&gt;NET4 Client Profile&lt;/a&gt;&lt;br /&gt;
&lt;a href=&quot;http://msdn.microsoft.com/en-us/library/ms171868.aspx&quot;&gt;What&#39;s New in the .NET Framework 4&lt;/a&gt;&lt;br /&gt;
&lt;a href=&quot;http://msdn.microsoft.com/en-us/library/bb383815.aspx&quot;&gt;What&#39;s New in Visual C# 2010&lt;/a&gt;&lt;br /&gt;
&lt;a href=&quot;http://msdn.microsoft.com/en-us/library/ee855831.aspx&quot;&gt;Visual C# 2010 Breaking Changes&lt;/a&gt;&lt;br /&gt;
&lt;a href=&quot;http://msdn.microsoft.com/en-us/library/dd465326.aspx&quot;&gt;Web.config Transformation Syntax&lt;/a&gt;&lt;br /&gt;
&lt;a href=&quot;http://www.microsoft.com/downloads/details.aspx?familyid=DFBF523C-F98C-4804-AFBD-459E846B268E&amp;amp;displaylang=en&quot;&gt;C# 4.0 Language Especification&lt;/a&gt;&lt;br /&gt;
&lt;a href=&quot;http://www.microsoft.com/downloads/details.aspx?familyid=752CB725-969B-4732-A383-ED5740F02E93&amp;amp;displaylang=en&quot;&gt;Visual Studio 2010 and .NET Framework 4 Training Kit&lt;/a&gt;&lt;br /&gt;
&lt;span style=&quot;color: red;&quot;&gt;&amp;lt;/edit&amp;gt;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
Enjoy</description><link>http://blog.vitorcanova.net/2010/04/visual-studio-2010-rtm.html</link><author>noreply@blogger.com (Vitor Canova)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-2720906137796848741.post-6643904333635306027</guid><pubDate>Fri, 19 Mar 2010 01:25:00 +0000</pubDate><atom:updated>2010-03-18T22:25:11.071-03:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Beta Exam</category><category domain="http://www.blogger.com/atom/ns#">Certificação Microsoft</category><category domain="http://www.blogger.com/atom/ns#">Framework 4.0</category><title>Beta Exams disponíveis</title><description>Os exames beta, utilizados para certificação de novas tecnologias e versões de produtos Microsoft, já estão disponíveis.&lt;img border=&quot;0&quot; src=&quot;http://2.bp.blogspot.com/_wPtp44I7-rc/SzqJgPh85bI/AAAAAAAAB_A/zhfdiqo-m70/s200/mcp%5B1%5D.png&quot; style=&quot;float: right; margin: 2px; width: 150px;&quot; /&gt;&lt;br /&gt;
&lt;br /&gt;
Pra quem não sabe, já comentei &lt;a href=&quot;http://blog.vitorcanova.net/2010/02/microsoft-beta-certification-exams.html&quot;&gt;neste post&lt;/a&gt; sobre eles. &lt;br /&gt;
&lt;br /&gt;
Os exames beta, que são gratuitos, tem um limitadíssimo número de vouchers disponíveis por todo o mundo. Por isso se você quer participar é bom correr, apesar de ter começado ontem o registro alguns exames beta já não tem mais vagas disponíveis.&lt;br /&gt;
&lt;br /&gt;
Pra se registrar basta acessar o site da &lt;a href=&quot;http://www.register.prometric.com/ClientInformation.asp&quot;&gt;Prometric&lt;/a&gt; e escolher ou mais exames beta utilizando o código promocional relacionado.&lt;br /&gt;
&lt;br /&gt;
&lt;table border=&quot;0&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; style=&quot;border-collapse: collapse; width: 184px;&quot;&gt;&lt;colgroup&gt;&lt;col style=&quot;mso-width-alt: 3913; mso-width-source: userset; width: 80pt;&quot; width=&quot;107&quot;&gt;&lt;col style=&quot;mso-width-alt: 2816; mso-width-source: userset; width: 58pt;&quot; width=&quot;77&quot;&gt;&lt;/colgroup&gt;&lt;tbody&gt;
&lt;tr height=&quot;17&quot; style=&quot;height: 12.75pt;&quot;&gt;&lt;td class=&quot;xl64&quot; height=&quot;17&quot; style=&quot;background-color: transparent; border-bottom: black 0.5pt solid; border-left: black 0.5pt solid; border-right: black 0.5pt solid; border-top: black 0.5pt solid; height: 12.75pt; width: 80pt;&quot; width=&quot;107&quot;&gt;&lt;strong&gt;&lt;span style=&quot;font-family: Calibri; font-size: x-small;&quot;&gt;Exam Number&lt;/span&gt;&lt;/strong&gt;&lt;/td&gt;&lt;td class=&quot;xl64&quot; style=&quot;background-color: transparent; border-bottom: black 0.5pt solid; border-left: black; border-right: black 0.5pt solid; border-top: black 0.5pt solid; width: 58pt;&quot; width=&quot;77&quot;&gt;&lt;strong&gt;&lt;span style=&quot;font-family: Calibri; font-size: x-small;&quot;&gt;Beta Code&lt;/span&gt;&lt;/strong&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr height=&quot;17&quot; style=&quot;height: 12.75pt;&quot;&gt;&lt;td class=&quot;xl64&quot; height=&quot;17&quot; style=&quot;background-color: transparent; border-bottom: black 0.5pt solid; border-left: black 0.5pt solid; border-right: black 0.5pt solid; border-top: black; height: 12.75pt; width: 80pt;&quot; width=&quot;107&quot;&gt;&lt;strong&gt;&lt;span style=&quot;font-family: Calibri; font-size: x-small;&quot;&gt;&lt;a href=&quot;http://www.microsoft.com/learning/en/us/exam.aspx?ID=70-511&amp;amp;locale=en-us&quot;&gt;70-511&lt;/a&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/td&gt;&lt;td class=&quot;xl63&quot; style=&quot;background-color: transparent; border-bottom: black 0.5pt solid; border-left: black; border-right: black 0.5pt solid; border-top: black; width: 58pt;&quot; width=&quot;77&quot;&gt;&lt;span style=&quot;font-family: Calibri; font-size: x-small;&quot;&gt;511BC&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr height=&quot;17&quot; style=&quot;height: 12.75pt;&quot;&gt;&lt;td class=&quot;xl64&quot; height=&quot;17&quot; style=&quot;background-color: transparent; border-bottom: black 0.5pt solid; border-left: black 0.5pt solid; border-right: black 0.5pt solid; border-top: black; height: 12.75pt; width: 80pt;&quot; width=&quot;107&quot;&gt;&lt;strong&gt;&lt;span style=&quot;font-family: Calibri; font-size: x-small;&quot;&gt;&lt;a href=&quot;http://www.microsoft.com/learning/en/us/exam.aspx?ID=70-515&amp;amp;locale=en-us&quot;&gt;70-515&lt;/a&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/td&gt;&lt;td class=&quot;xl63&quot; style=&quot;background-color: transparent; border-bottom: black 0.5pt solid; border-left: black; border-right: black 0.5pt solid; border-top: black; width: 58pt;&quot; width=&quot;77&quot;&gt;&lt;span style=&quot;font-family: Calibri; font-size: x-small;&quot;&gt;515AA&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr height=&quot;17&quot; style=&quot;height: 12.75pt;&quot;&gt;&lt;td class=&quot;xl64&quot; height=&quot;17&quot; style=&quot;background-color: transparent; border-bottom: black 0.5pt solid; border-left: black 0.5pt solid; border-right: black 0.5pt solid; border-top: black; height: 12.75pt; width: 80pt;&quot; width=&quot;107&quot;&gt;&lt;strong&gt;&lt;span style=&quot;font-family: Calibri; font-size: x-small;&quot;&gt;&lt;a href=&quot;http://www.microsoft.com/learning/en/us/exam.aspx?ID=70-513&amp;amp;locale=en-us&quot;&gt;70-513&lt;/a&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/td&gt;&lt;td class=&quot;xl63&quot; style=&quot;background-color: transparent; border-bottom: black 0.5pt solid; border-left: black; border-right: black 0.5pt solid; border-top: black; width: 58pt;&quot; width=&quot;77&quot;&gt;&lt;span style=&quot;font-family: Calibri; font-size: x-small;&quot;&gt;513CD&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr height=&quot;17&quot; style=&quot;height: 12.75pt;&quot;&gt;&lt;td class=&quot;xl64&quot; height=&quot;17&quot; style=&quot;background-color: transparent; border-bottom: black 0.5pt solid; border-left: black 0.5pt solid; border-right: black 0.5pt solid; border-top: black; height: 12.75pt; width: 80pt;&quot; width=&quot;107&quot;&gt;&lt;strong&gt;&lt;span style=&quot;font-family: Calibri; font-size: x-small;&quot;&gt;&lt;a href=&quot;http://www.microsoft.com/learning/en/us/exam.aspx?ID=70-516&amp;amp;locale=en-us&quot;&gt;70-516&lt;/a&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/td&gt;&lt;td class=&quot;xl63&quot; style=&quot;background-color: transparent; border-bottom: black 0.5pt solid; border-left: black; border-right: black 0.5pt solid; border-top: black; width: 58pt;&quot; width=&quot;77&quot;&gt;&lt;span style=&quot;font-family: Calibri; font-size: x-small;&quot;&gt;516B1&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr height=&quot;17&quot; style=&quot;height: 12.75pt;&quot;&gt;&lt;td class=&quot;xl64&quot; height=&quot;17&quot; style=&quot;background-color: transparent; border-bottom: black 0.5pt solid; border-left: black 0.5pt solid; border-right: black 0.5pt solid; border-top: black; height: 12.75pt; width: 80pt;&quot; width=&quot;107&quot;&gt;&lt;strong&gt;&lt;span style=&quot;font-family: Calibri; font-size: x-small;&quot;&gt;&lt;a href=&quot;http://www.microsoft.com/learning/en/us/exam.aspx?ID=70-518&amp;amp;locale=en-us&quot;&gt;70-518&lt;/a&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/td&gt;&lt;td class=&quot;xl63&quot; style=&quot;background-color: transparent; border-bottom: black 0.5pt solid; border-left: black; border-right: black 0.5pt solid; border-top: black; width: 58pt;&quot; width=&quot;77&quot;&gt;&lt;span style=&quot;font-family: Calibri; font-size: x-small;&quot;&gt;518PE&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr height=&quot;17&quot; style=&quot;height: 12.75pt;&quot;&gt;&lt;td class=&quot;xl64&quot; height=&quot;17&quot; style=&quot;background-color: transparent; border-bottom: black 0.5pt solid; border-left: black 0.5pt solid; border-right: black 0.5pt solid; border-top: black; height: 12.75pt; width: 80pt;&quot; width=&quot;107&quot;&gt;&lt;strong&gt;&lt;span style=&quot;font-family: Calibri; font-size: x-small;&quot;&gt;&lt;a href=&quot;http://www.microsoft.com/learning/en/us/exam.aspx?ID=70-519&amp;amp;locale=en-us&quot;&gt;70-519&lt;/a&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/td&gt;&lt;td class=&quot;xl63&quot; style=&quot;background-color: transparent; border-bottom: black 0.5pt solid; border-left: black; border-right: black 0.5pt solid; border-top: black; width: 58pt;&quot; width=&quot;77&quot;&gt;&lt;span style=&quot;font-family: Calibri; font-size: x-small;&quot;&gt;519ZS&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;
&lt;br /&gt;
Cliquei no número do exame para ver a descrição e o conteúdo a estudar. Boa sorte.</description><link>http://blog.vitorcanova.net/2010/03/beta-exams-disponiveis.html</link><author>noreply@blogger.com (Vitor Canova)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://2.bp.blogspot.com/_wPtp44I7-rc/SzqJgPh85bI/AAAAAAAAB_A/zhfdiqo-m70/s72-c/mcp%5B1%5D.png" height="72" width="72"/><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-2720906137796848741.post-4281443312035613581</guid><pubDate>Thu, 11 Feb 2010 09:08:00 +0000</pubDate><atom:updated>2010-02-11T07:09:39.563-02:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Beta Exam</category><category domain="http://www.blogger.com/atom/ns#">Certificação Microsoft</category><title>Microsoft Beta Certification Exams</title><description>É isso mesmo. Já estão sendo preparados os exames beta do Visual Studio 2010 bem como do Framework 4.0.&lt;img border=&quot;0&quot; src=&quot;http://2.bp.blogspot.com/_wPtp44I7-rc/SzqJgPh85bI/AAAAAAAAB_A/zhfdiqo-m70/s200/mcp%5B1%5D.png&quot; style=&quot;float: right; margin: 2px; width: 150px;&quot; /&gt;&lt;br /&gt;
&lt;br /&gt;
As provas beta tem&amp;nbsp;vários diferenciais. Seguem alguns deles:&lt;br /&gt;
&lt;ul&gt;&lt;li&gt;&lt;strong&gt;São gratuitas&lt;/strong&gt;: As provas beta ainda não foram totalmente testadas e como todos os&amp;nbsp;betas costumam ser, não&amp;nbsp;são pagas (absolutamente nada).&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Mais extensas&lt;/strong&gt;: A prova de certificação normal costuma ter entre 40 e 50 questões, enquanto as beta costumam passar de 100.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Costuma ter prefixo diferente das não-beta que representam&lt;/strong&gt;: Por exemplo, a prova beta da atual prova 70-562 era 71-562. Porém se você passa nela é considerado certificado na não-beta .&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Não tem resultado imediato&lt;/strong&gt;: As provas beta tem os pesos das questões definidos após o beta acabar. Isso quer dizer que você acaba sabendo como foi somente após o fim do beta, onde algumas questões serão discartadas, revistas ou aprovadas para prova não-beta.&lt;/li&gt;
&lt;/ul&gt;As provas beta estarão disponíveis entre 31 de Março e 20 de Abril deste ano, tem um número limitado de inscrições e é definido por ordem de chegada. As provas oferecidas serão as seguintes:&lt;br /&gt;
&lt;br /&gt;
70-511 TS: Windows Applications Development with Microsoft® .NET Framework 4 &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
70-513 TS: Windows Communication Foundation Development with Microsoft® .NET Framework 4 &lt;br /&gt;
&lt;br /&gt;
70-515 TS: Web Applications Development with Microsoft® .NET Framework 4 &lt;br /&gt;
&lt;br /&gt;
70-516 TS: Accessing Data with Microsoft® .NET Framework 4 &lt;br /&gt;
&lt;br /&gt;
70-519 Pro: Designing and Developing Web Applications using Microsoft® .NET Framework 4&lt;br /&gt;
&lt;br /&gt;
70-518 Pro: Designing and Developing Windows® Applications using Microsoft .NET Framework 4 (&lt;em&gt;Não estará disponível num primeiro momento, mas até o final de Abril&lt;/em&gt;)&lt;br /&gt;
&lt;br /&gt;
Para acompanhar o lançamento basta acompanhar&amp;nbsp;este &lt;a href=&quot;http://blogs.technet.com/betaexams/default.aspx&quot;&gt;blog&lt;/a&gt;, onde são divulgados os anúncios das provas beta.</description><link>http://blog.vitorcanova.net/2010/02/microsoft-beta-certification-exams.html</link><author>noreply@blogger.com (Vitor Canova)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://2.bp.blogspot.com/_wPtp44I7-rc/SzqJgPh85bI/AAAAAAAAB_A/zhfdiqo-m70/s72-c/mcp%5B1%5D.png" height="72" width="72"/><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-2720906137796848741.post-6641408663392890230</guid><pubDate>Tue, 09 Feb 2010 09:59:00 +0000</pubDate><atom:updated>2010-02-09T08:47:10.928-02:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Framework 4.0</category><category domain="http://www.blogger.com/atom/ns#">Release Candidate</category><category domain="http://www.blogger.com/atom/ns#">Visual Studio 2010</category><title>Visual Studio 2010 e .NET Framework 4 Release Candidate</title><description>Acaba de ser disponibilizado pela equipe de desenvolvimento do Visual &lt;br /&gt;
&lt;div style=&quot;float: right; padding-bottom: 2px; padding-left: 2px; padding-right: 2px; padding-top: 2px;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;http://3.bp.blogspot.com/_wPtp44I7-rc/S3ExYQb8IAI/AAAAAAAAB_Q/BDkHyZgPteo/s1600/ee402630_VisualStudio_lg.png&quot; /&gt;&lt;/div&gt;Studio 2010 a versão Release Candidate para Download no MSDN. O link segue abaixo:&lt;br /&gt;
&lt;br /&gt;
&lt;a href=&quot;http://msdn.microsoft.com/en-us/vstudio/dd582936.aspx&quot;&gt;Visual Studio 2010 And Framework 4 RC&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
Estará disponível publicamente a partir de amanhã para qualquer pessoa que não tiver assinatura MSDN.&lt;br /&gt;
&lt;br /&gt;
Dentre as novidades desta versão estão várias melhorias de performance, problema relatado durante a fase Beta 1 e 2. &lt;br /&gt;
&lt;br /&gt;
Também poderá ser conferida a nova interface Cider Design, que será um marco no desenvolvimento de aplicações XAML-based.&lt;br /&gt;
&lt;br /&gt;
Par maiores informações sobre o Cider Design, clique &lt;a href=&quot;http://msdn.microsoft.com/en-us/vstudio/dd582936.aspx&quot;&gt;aqui&lt;/a&gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;color: red;&quot;&gt;&amp;lt;edit&amp;gt;&lt;/span&gt;&lt;br /&gt;
Segundo Scott Guthrie em seu &lt;a href=&quot;http://weblogs.asp.net/scottgu/archive/2010/02/08/vs-2010-net-4-release-candidate.aspx&quot;&gt;blog&lt;/a&gt; esta versão ainda não é compatível com desenvolvimento de Silverlight 4. Estará disponível na próxima publicação do Silvierlight 4.&lt;br /&gt;
&lt;span style=&quot;color: red;&quot;&gt;&amp;lt;/edit&amp;gt;&lt;/span&gt;</description><link>http://blog.vitorcanova.net/2010/02/visual-studio-2010-e-net-framework-4.html</link><author>noreply@blogger.com (Vitor Canova)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://3.bp.blogspot.com/_wPtp44I7-rc/S3ExYQb8IAI/AAAAAAAAB_Q/BDkHyZgPteo/s72-c/ee402630_VisualStudio_lg.png" height="72" width="72"/><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-2720906137796848741.post-9032321632740841273</guid><pubDate>Mon, 04 Jan 2010 10:10:00 +0000</pubDate><atom:updated>2010-01-04T08:10:44.452-02:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Twitter</category><title>Agora também no Twitter</title><description>Ano passado entrei para mais um rede que está estourando pelo mundo todo, o Twitter.&lt;img style=&quot;width:80px;float:right&quot; border=&quot;0&quot; src=&quot;http://2.bp.blogspot.com/_wPtp44I7-rc/S0G9_v1AsoI/AAAAAAAAB_M/5EKyZ18V70M/s1600/twitter_icon2%5B2%5D.png&quot; /&gt;&lt;br /&gt;
&lt;br /&gt;
Meu perfil é &lt;a href=&quot;http://twitter.com/vitor_canova&quot;&gt;vitor_canova&lt;/a&gt; e espero conseguir utilizar esse adendo de forma que consiga fazer algumas publicações rápidas. &lt;br /&gt;
&lt;br /&gt;
Por ser mundialmente acessado e para treinar meu inglês vou &quot;twittar&quot; bastante na língua estrangeira. Se quiser iniciar uma conversa comigo em português mesmo, não tem problema.</description><link>http://blog.vitorcanova.net/2010/01/agora-tambem-no-twitter.html</link><author>noreply@blogger.com (Vitor Canova)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://2.bp.blogspot.com/_wPtp44I7-rc/S0G9_v1AsoI/AAAAAAAAB_M/5EKyZ18V70M/s72-c/twitter_icon2%5B2%5D.png" height="72" width="72"/><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-2720906137796848741.post-5005884196312690962</guid><pubDate>Wed, 30 Dec 2009 01:54:00 +0000</pubDate><atom:updated>2009-12-29T23:54:48.635-02:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">70-562</category><category domain="http://www.blogger.com/atom/ns#">MCP</category><category domain="http://www.blogger.com/atom/ns#">MCTS</category><title>Enfim Microsoft Certified Professional (MCP)</title><description>&lt;a style=&quot;float:left&quot; href=&quot;http://www.microsoft.com/learning/en/us/Book.aspx?ID=12489&amp;locale=en-us&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;http://1.bp.blogspot.com/_wPtp44I7-rc/Szqw7fZRxVI/AAAAAAAAB_I/eHqoMsNijV0/s1600/9780735625624F%5B2%5D.png&quot; /&gt;&lt;/a&gt;Nesses últimos meses estive lendo o livro &lt;b&gt;MCTS Exam 70-562 Self-Paced Training Kit: Microsoft .NET Framework 3.5 - ASP.NET Application Development&lt;/b&gt;.&lt;br /&gt;
&lt;br /&gt;
Aprofundei meus conhecimentos em ASP.NET conhecendo várias outras &lt;i&gt;features&lt;/i&gt; de que nem fazia idéia. Durante esse período pude inclusive fazer uso dessas técnicas aprendidas em projetos em que estive trabalhando.&lt;br /&gt;
&lt;br /&gt;
No momento estou de férias e aproveitei essa época para me aprofundar mais nos estudos. Dediquei a última semana praticamente só estudando e fazendo os testes preparatórios para o exame de certificação. &lt;br /&gt;
&lt;br /&gt;
O exame estava marcado para às 13:00, estava um pouco nervoso e até pouco tempo após o almoço ainda tentava tirar do livro algum conhecimento que estivesse faltando.&lt;br /&gt;
&lt;img border=&quot;0&quot; src=&quot;http://1.bp.blogspot.com/_wPtp44I7-rc/SzqJzjOzjcI/AAAAAAAAB_E/90LQoccp6lE/s200/mcts_microsoft%5B1%5D.jpg&quot; style=&quot;float: right; margin: 2px; width: 120px;&quot; /&gt;&lt;br /&gt;
Concluí a prova com bastante tempo de sobra, resolvi checar novamente algumas questões que achei mais confusas. Terminei o exame e esperei por alguns segundos até o resultado.&lt;br /&gt;
&lt;br /&gt;
Por instantes achei que não havia estudado o suficiente, que podia ter me dedicado mais e que teria que fazer a prova novamente.&lt;br /&gt;
&lt;img border=&quot;0&quot; src=&quot;http://2.bp.blogspot.com/_wPtp44I7-rc/SzqJgPh85bI/AAAAAAAAB_A/zhfdiqo-m70/s200/mcp%5B1%5D.png&quot; style=&quot;float: right; margin: 2px; width: 150px;&quot; /&gt;&lt;br /&gt;
&lt;b&gt;&lt;i&gt;Congratulations&lt;/i&gt;&lt;/b&gt; dizia a página da Prometric, empresa responsável pelo exame. E demorei alguns instantes para perceber que havia me tornado um MCP.&lt;br /&gt;
&lt;br /&gt;
A prova que fiz foi a &lt;a href=&quot;http://www.microsoft.com/learning/en/us/exam.aspx?ID=70-562&quot;&gt;70-562&lt;/a&gt;, base do livro que estava lendo. Nos próximos posts vou dar algumas dicas que podem ajudar a você tirar a sua certificação, talvez até sem passar pela apreensão que passei.</description><link>http://blog.vitorcanova.net/2009/12/enfim-microsoft-certified-professional.html</link><author>noreply@blogger.com (Vitor Canova)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://1.bp.blogspot.com/_wPtp44I7-rc/Szqw7fZRxVI/AAAAAAAAB_I/eHqoMsNijV0/s72-c/9780735625624F%5B2%5D.png" height="72" width="72"/><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-2720906137796848741.post-2738515003166650561</guid><pubDate>Tue, 01 Dec 2009 10:10:00 +0000</pubDate><atom:updated>2009-12-01T09:20:02.958-02:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Overview</category><category domain="http://www.blogger.com/atom/ns#">Silverlight 4</category><title>Silverlight 4 Beta</title><description>Quase uma semana após o lançamento oficial do Silverlight 4 beta no PDC2009 já pude tirar algumas conclusões. A equipe de desenvolvimento está de parabéns, estão entregando uma plataforma de desenvolvimento nunca antes vista.&lt;div style=&quot;float:right;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;http://4.bp.blogspot.com/_wPtp44I7-rc/SxTrCUYkqeI/AAAAAAAAB9A/hLlGYTebiKQ/s200/sl4bloglogo%5B1%5D.png&quot; /&gt;&lt;br /&gt;
&lt;/div&gt;&lt;br /&gt;
Algumas das novidades vieram principalmente para suprir algumas necessidades que os programadores flash tiram quando migravam para Silverlight. Acesso a WebCam, microfone e suporte de impressão.&lt;br /&gt;
&lt;br /&gt;
Além disso as aplicações Out Of Browser terão a possibilidade de rodar em um nível menor de segurança, com a autorização do usuário. Isso permite que muitas outras funcionalidades possam ser usadas, como exemplo a interoperabilidade com componentes COM, acesso Cross Domain sem arquivo de policy, acesso a pastas do computador do usuário e muito mais.&lt;br /&gt;
&lt;br /&gt;
Para verificar a lista completa de funcionalidades acesse o &lt;a href=&quot;http://timheuer.com/blog/archive/2009/11/18/whats-new-in-silverlight-4-complete-guide-new-features.aspx&quot;&gt;Blog do Tim Heuer&lt;/a&gt;.&lt;br /&gt;
&lt;br /&gt;
E &lt;a href=&quot;http://microsoftpdc.com/Sessions/KEY02?type=wmvhigh&quot;&gt;aqui&lt;/a&gt; o impressionamente vídeo com a apresentação e lançamento do Silverlight 4 por Scott Guthrie. Ele apresenta um trecho no meio, por isso se quiserem acessar diretamente a sua apresentação pode ir direto ao minuto 00:54.&lt;br /&gt;
&lt;br /&gt;
Pra quem quiser, ainda tem o &lt;a href=&quot;http://microsoftpdc.com/Sessions/P09-11&quot;&gt;Overview com Karen Corby&lt;/a&gt; que pode ser acessado aqui.&lt;br /&gt;
&lt;br /&gt;
Recomendo a todas dar uma conferida neste e em vários outros vídeos do &lt;a href=&quot;http://microsoftpdc.com/Videos&quot;&gt;PDC2009&lt;/a&gt;.</description><link>http://blog.vitorcanova.net/2009/12/silverlight-4-beta.html</link><author>noreply@blogger.com (Vitor Canova)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://4.bp.blogspot.com/_wPtp44I7-rc/SxTrCUYkqeI/AAAAAAAAB9A/hLlGYTebiKQ/s72-c/sl4bloglogo%5B1%5D.png" height="72" width="72"/><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-2720906137796848741.post-8566067666648983634</guid><pubDate>Sun, 25 Oct 2009 02:14:00 +0000</pubDate><atom:updated>2009-10-25T11:09:18.110-02:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Beta 2</category><category domain="http://www.blogger.com/atom/ns#">ISO</category><category domain="http://www.blogger.com/atom/ns#">Premium</category><category domain="http://www.blogger.com/atom/ns#">Professional</category><category domain="http://www.blogger.com/atom/ns#">Ultimate</category><category domain="http://www.blogger.com/atom/ns#">Visual Studio 2010</category><title>Visual Studio 2010 Beta 2</title><description>Semana passada foi lançado tanto para os assinantes MSDN quanto para o público em geral a nova versão Beta do &lt;br /&gt;
&lt;div style=&quot;float: right; text-align: center;&quot;&gt;&lt;a href=&quot;http://4.bp.blogspot.com/_wPtp44I7-rc/SuOw58-nHJI/AAAAAAAAB8I/5XxXtlHhjLc/s1600-h/vs2010_logo.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;http://4.bp.blogspot.com/_wPtp44I7-rc/SuOw58-nHJI/AAAAAAAAB8I/5XxXtlHhjLc/s320/vs2010_logo.png&quot; vr=&quot;true&quot; /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;/div&gt;&lt;a href=&quot;http://msdn.microsoft.com/en-us/library/dd831853(VS.100).aspx&quot;&gt;Visual Studio 2010&lt;/a&gt;.&lt;br /&gt;
&lt;br /&gt;
O Software conta com 3 versões diferenciadas, Professional, Premium e Ultimate.&lt;br /&gt;
&lt;br /&gt;
O link oficial do download pode ser encontrado &lt;a href=&quot;http://www.microsoft.com/visualstudio/en-us/try/default.mspx&quot;&gt;aqui&lt;/a&gt;, onde existe o download de um downloader e instalador do software. &lt;br /&gt;
&lt;br /&gt;
Pra quem prefere baixar apenas versões express o link é &lt;a href=&quot;http://www.microsoft.com/express/future/default.aspx&quot;&gt;esse&lt;/a&gt;. Nele encontram-se as versões para cada linguagem, como de costume nas versões Express.&lt;br /&gt;
&lt;br /&gt;
Quem prefere baixar um ISO e queimar/emular a mídia, encontrei &lt;a href=&quot;http://www.microsoft.com/downloads/details.aspx?FamilyID=dc333ac8-596d-41e3-ba6c-84264e761b81&amp;amp;displaylang=en&quot;&gt;este link&lt;/a&gt; com o download do mesmo em &lt;span style=&quot;color:red;text-decoration:line-through&quot;&gt;duas&lt;/span&gt; quatro partes (Versão Ultimate). &lt;br /&gt;
&lt;br /&gt;
Segundo a equipe de desenvolvimento, tanto o Visual Studio 2010 Beta 2 quanto o Framework .NET 4.0 Beta 2 podem ser instalados lado a lado com versões anteriores sem problema algum.&lt;br /&gt;
&lt;br /&gt;
Aqui uma pequena lista com as features de cada versão:&lt;br /&gt;
&lt;br /&gt;
&lt;ul&gt;&lt;li&gt;&lt;strong&gt;Visual Studio 2010 Premium&lt;/strong&gt; &lt;/li&gt;
&lt;/ul&gt;&lt;blockquote&gt;Advanced Application Development &amp;amp; Debugging &lt;br /&gt;
Unit Testing with Code Coverage and Test Prioritization &lt;br /&gt;
Code Analysis, Metrics &amp;amp; Optimization &lt;br /&gt;
Database Development and Testing Tools &lt;br /&gt;
Read Only Architectural Diagrams&lt;br /&gt;
&lt;/blockquote&gt;&lt;ul&gt;&lt;li&gt;&lt;strong&gt;Visual Studio 2010 Professional&lt;/strong&gt; &lt;/li&gt;
&lt;/ul&gt;&lt;blockquote&gt;Application Development &amp;amp; Debugging &lt;br /&gt;
Unit Testing&lt;br /&gt;
&lt;/blockquote&gt;&lt;ul&gt;&lt;li&gt;&lt;strong&gt;Visual Studio 2010 Ultimate&lt;/strong&gt; &lt;/li&gt;
&lt;/ul&gt;&lt;blockquote&gt;IntelliTrace Historical Debugging &lt;br /&gt;
Comprehensive Testing Tools &lt;br /&gt;
Advanced UML Architecture Tools &lt;br /&gt;
Architectural Discovery Tools &lt;br /&gt;
Unit Testing with Code Coverage and Test Prioritization &lt;br /&gt;
Code Analysis, Metrics and Optimization &lt;br /&gt;
Database Development and Testing Tools &lt;br /&gt;
Test Case and Test Lab Management&lt;br /&gt;
&lt;/blockquote&gt;Enjoy&lt;br /&gt;
&lt;br /&gt;
[Editado]&lt;br /&gt;
Link para contornar o problema que pode ocorrer com SDK do Silverlight &lt;a href=&quot;http://blogs.silverlight.net/blogs/msnow/archive/2009/10/21/uninstall-silverlight-sdk-rtm-before-installing-vs-2010-beta-2.aspx&quot;&gt;aqui&lt;/a&gt;.</description><link>http://blog.vitorcanova.net/2009/10/visual-studio-2010-beta-2.html</link><author>noreply@blogger.com (Vitor Canova)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://4.bp.blogspot.com/_wPtp44I7-rc/SuOw58-nHJI/AAAAAAAAB8I/5XxXtlHhjLc/s72-c/vs2010_logo.png" height="72" width="72"/><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-2720906137796848741.post-1014856292206147693</guid><pubDate>Fri, 02 Oct 2009 00:35:00 +0000</pubDate><atom:updated>2009-10-01T22:52:38.123-03:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">ASP.NET</category><category domain="http://www.blogger.com/atom/ns#">C#</category><category domain="http://www.blogger.com/atom/ns#">MasterPage</category><category domain="http://www.blogger.com/atom/ns#">MasterType</category><title>Acessando propriedades da MasterPage</title><description>Sei, não é nenhuma mágica acessar dados da MasterPage através de um WebContentForm (página de dentro da MasterPage) e todo mundo já deve ter feito.

&lt;pre style=&quot;BACKGROUND: #ffffff;font-family:courier new;font-size:12px;color:#000000;&quot;   &gt;&lt;span style=&quot;FONT-WEIGHT: bold;color:#0000ff;&quot; &gt;protected&lt;/span&gt; &lt;span style=&quot;FONT-WEIGHT: bold;color:#0000ff;&quot; &gt;void&lt;/span&gt; Page_Load&lt;span style=&quot;color:#000000;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;FONT-WEIGHT: bold;color:#0000ff;&quot; &gt;object&lt;/span&gt; s&lt;span style=&quot;color:#000000;&quot;&gt;,&lt;/span&gt; &lt;span style=&quot;color:#2b91af;&quot;&gt;EventArgs&lt;/span&gt; e&lt;span style=&quot;color:#000000;&quot;&gt;)&lt;/span&gt;&lt;span style=&quot;color:#800080;&quot;&gt;
{&lt;/span&gt;
    &lt;span style=&quot;FONT-WEIGHT: bold;color:#0000ff;&quot; &gt;this&lt;/span&gt;&lt;span style=&quot;color:#000000;&quot;&gt;.&lt;/span&gt;Master&lt;span style=&quot;color:#000000;&quot;&gt;.&lt;/span&gt;SkinID &lt;span style=&quot;color:#000000;&quot;&gt;=&lt;/span&gt; &lt;span style=&quot;color:#ff0000;&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;color:#ff0000;&quot;&gt;GreenSkin&lt;/span&gt;&lt;span style=&quot;color:#ff0000;&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;color:#800080;&quot;&gt;;&lt;/span&gt;&lt;span style=&quot;color:#800080;&quot;&gt;
}&lt;/span&gt;&lt;/pre&gt;
Mas nem tudo é tão simples. Lembrando que a propriedade &lt;span style=&quot;font-family:courier new&quot;&gt;Master&lt;/span&gt; da classe &lt;span style=&quot;color:#2b91af;&quot;&gt;Page&lt;/span&gt; é apenas outra &lt;span style=&quot;color:#2b91af;&quot;&gt;Page&lt;/span&gt; logo damos de cara com a necessidade de um &lt;em&gt;Cast&lt;/em&gt; em caso de criarmos algo mais personalizado.

Imaginando agora que o nome da classe da minha MasterPage é &quot;Site&quot; e tem uma propriedade TituloMenu que preciso acessar na minha página de conteúdo. Pra isso geralmente fazemos o seguinte:

&lt;pre style=&quot;BACKGROUND: #ffffff;font-family:courier new;font-size:12px;color:#000000;&quot;   &gt;&lt;span style=&quot;FONT-WEIGHT: bold;color:#0000ff;&quot; &gt;protected&lt;/span&gt; &lt;span style=&quot;FONT-WEIGHT: bold;color:#0000ff;&quot; &gt;void&lt;/span&gt; Page_Load&lt;span style=&quot;color:#000000;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;FONT-WEIGHT: bold;color:#0000ff;&quot; &gt;object&lt;/span&gt; s&lt;span style=&quot;color:#000000;&quot;&gt;,&lt;/span&gt; &lt;span style=&quot;color:#2b91af;&quot;&gt;EventArgs&lt;/span&gt; e&lt;span style=&quot;color:#000000;&quot;&gt;)&lt;/span&gt;&lt;span style=&quot;color:#800080;&quot;&gt;
{&lt;/span&gt;
    ((&lt;span style=&quot;color:#2b91af;&quot;&gt;Site&lt;/span&gt;)&lt;span style=&quot;FONT-WEIGHT: bold;color:#0000ff;&quot; &gt;this&lt;/span&gt;&lt;span style=&quot;color:#000000;&quot;&gt;.&lt;/span&gt;Master&lt;span style=&quot;color:#000000;&quot;&gt;).&lt;/span&gt;TituloMenu&lt;span style=&quot;color:#000000;&quot;&gt;=&lt;/span&gt; &lt;span style=&quot;color:#ff0000;&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;color:#ff0000;&quot;&gt;Home&lt;/span&gt;&lt;span style=&quot;color:#ff0000;&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;color:#800080;&quot;&gt;;&lt;/span&gt;&lt;span style=&quot;color:#800080;&quot;&gt;
}&lt;/span&gt;&lt;/pre&gt;Muito bem, assim o Cast nos ajuda a acessar nossa classe de MasterPage e assim podemos acessar nossa propriedade em nossa classe derivada. 

Agora que vem o pulo do gato. E se não precisássemos fazer o cast? É simples, basta informar logo abaixo da diretiva @Page da página aspx qual o tipo da nossa MasterPage:

&lt;pre style=&#39;color:#000000;background:#ffffff;font-family:courier new;font-size:12px&#39;&gt;&lt;span style=&#39;color:#808030; &#39;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&#39;color:#808030; &#39;&gt;%&lt;/span&gt;@ MasterType &lt;span style=&quot;color:red&quot;&gt;TypeName&lt;/span&gt;&lt;span style=&#39;color:#808030; &#39;&gt;=&lt;/span&gt;&lt;span style=&#39;color:#800000; &#39;&gt;&quot;&lt;/span&gt;&lt;span style=&#39;color:#0000e6; &#39;&gt;MasterPageSample.Site&lt;/span&gt;&lt;span style=&#39;color:#800000; &#39;&gt;&quot;&lt;/span&gt; &lt;span style=&#39;color:#808030; &#39;&gt;%&lt;/span&gt;&lt;span style=&#39;color:#808030; &#39;&gt;&gt;&lt;/span&gt;
&lt;/pre&gt;
Com isso nossa página passa a reconhecer a propriedade Master como sendo do tipo da nossa MasterPage, no caso Site.

&lt;pre style=&quot;BACKGROUND: #ffffff;font-family:courier new;font-size:12px;color:#000000;&quot;   &gt;&lt;span style=&quot;FONT-WEIGHT: bold;color:#0000ff;&quot; &gt;protected&lt;/span&gt; &lt;span style=&quot;FONT-WEIGHT: bold;color:#0000ff;&quot; &gt;void&lt;/span&gt; Page_Load&lt;span style=&quot;color:#000000;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;FONT-WEIGHT: bold;color:#0000ff;&quot; &gt;object&lt;/span&gt; s&lt;span style=&quot;color:#000000;&quot;&gt;,&lt;/span&gt; &lt;span style=&quot;color:#2b91af;&quot;&gt;EventArgs&lt;/span&gt; e&lt;span style=&quot;color:#000000;&quot;&gt;)&lt;/span&gt;&lt;span style=&quot;color:#800080;&quot;&gt;
{&lt;/span&gt;
    &lt;span style=&quot;FONT-WEIGHT: bold;color:#0000ff;&quot; &gt;this&lt;/span&gt;&lt;span style=&quot;color:#000000;&quot;&gt;.&lt;/span&gt;Master&lt;span style=&quot;color:#000000;&quot;&gt;.&lt;/span&gt;TituloMenu&lt;span style=&quot;color:#000000;&quot;&gt;=&lt;/span&gt; &lt;span style=&quot;color:#ff0000;&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;color:#ff0000;&quot;&gt;Home&lt;/span&gt;&lt;span style=&quot;color:#ff0000;&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;color:#800080;&quot;&gt;;&lt;/span&gt;&lt;span style=&quot;color:#800080;&quot;&gt;
}&lt;/span&gt;&lt;/pre&gt;Se clicarmos em cima da propriedade Master vamos ver o que acontece por tráz disso tudo. Quando criamos a diretiva MasterType o Visual Studio cria no arquivos auxiliar designer.cs da página uma propriedade com o mesmo nome (Master) porém escondendo a propriedade da classe base:

&lt;pre style=&#39;color:#000000;background:#ffffff;font-size:12px;font-family:courier new&#39;&gt;&lt;span style=&#39;color:#0000ff; font-weight:bold; &#39;&gt;public&lt;/span&gt; &lt;span style=&#39;color:#0000ff; font-weight:bold; &#39;&gt;new&lt;/span&gt; &lt;span style=&quot;color:#2b91af;&quot;&gt;Site&lt;/span&gt; Master&lt;span style=&#39;color:#000000; &#39;&gt;
{&lt;/span&gt;    &lt;span style=&quot;color:blue&quot;&gt;
get&lt;/span&gt;    &lt;span style=&#39;color:#000000; &#39;&gt;{&lt;/span&gt;&lt;span style=&#39;color:#0000ff; font-weight:bold; &#39;&gt;return&lt;/span&gt; &lt;span style=&#39;color:#000000; &#39;&gt;(&lt;/span&gt;&lt;span style=&#39;color:#808030; &#39;&gt;(&lt;/span&gt;&lt;span style=&quot;color:#2b91af;&quot;&gt;Site&lt;/span&gt;&lt;span style=&#39;color:#000000; &#39;&gt;)&lt;/span&gt;&lt;span style=&#39;color:#000000; &#39;&gt;(&lt;/span&gt;&lt;span style=&#39;color:#0000ff; font-weight:bold; &#39;&gt;base&lt;/span&gt;&lt;span style=&#39;color:#000000; &#39;&gt;.&lt;/span&gt;Master&lt;span style=&#39;color:#808030; &#39;&gt;)&lt;/span&gt;&lt;span style=&#39;color:#000000; &#39;&gt;)&lt;/span&gt;&lt;span style=&#39;color:#000000; &#39;&gt;;&lt;/span&gt;&lt;span style=&#39;color:#000000; &#39;&gt;}&lt;/span&gt;&lt;span style=&#39;color:#000000; &#39;&gt;
}&lt;/span&gt;&lt;/pre&gt;Sei que não é a coisa mais impressionante do mundo mas achei interessante essa &quot;tipagem&quot; que o Visual Studio faz pra nós. Lembrei de publicar isto porque ví no livro de certificação e ainda hoje acabei usando em um projeto.

Enjoy</description><link>http://blog.vitorcanova.net/2009/10/acessando-propriedades-da-masterpage.html</link><author>noreply@blogger.com (Vitor Canova)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-2720906137796848741.post-6039126194180086486</guid><pubDate>Mon, 21 Sep 2009 00:34:00 +0000</pubDate><atom:updated>2009-09-20T21:47:23.810-03:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Framework 4.0</category><category domain="http://www.blogger.com/atom/ns#">MSDN Magazine</category><category domain="http://www.blogger.com/atom/ns#">Office 2010</category><title>Novidades!</title><description>Mais um postzinho rapidinho só pra manter todos informados.

&lt;a href=&quot;http://msdn.microsoft.com/en-us/magazine/ee428166.aspx&quot;&gt;Aqui&lt;/a&gt; na edição de Setembro da MSDN Magazine podemos conferir algumas das novidades do Framework 4.0, destaque para o namespace &lt;span style=&quot;font-family:courier new;&quot;&gt;System.IO&lt;/span&gt; que ganha várias melhorias com ajuda de novos métodos que retornam &lt;span style=&quot;font-family:courier new;&quot;&gt;IEnumerables&lt;/span&gt;.

Pra quem ainda não viu, &lt;a href=&quot;http://channel9.msdn.com/posts/dtzar/Office-Live-Applications-First-Look/&quot;&gt;aqui&lt;/a&gt; tem um vídeo que mostra como está ficando o Office 2010 Live Application.</description><link>http://blog.vitorcanova.net/2009/09/novidades.html</link><author>noreply@blogger.com (Vitor Canova)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-2720906137796848741.post-6748814566538720133</guid><pubDate>Wed, 02 Sep 2009 01:50:00 +0000</pubDate><atom:updated>2009-09-02T00:14:48.511-03:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Silverlight 3 RTM</category><category domain="http://www.blogger.com/atom/ns#">Sobrecarga</category><category domain="http://www.blogger.com/atom/ns#">WPF</category><title>Cadê as sobrecargas no Silverlight?</title><description>Mais de um mês inteiro sem nenhuma postagem, estou com um pouco de falta de criatividade. Aliado a isto tive um problema de saúde que me deixou durante uma semana bastante preocupado, mas já me sinto melhor.

Andei estudando Silverlight e WPF, inclusive estou participando de um projeto com ambas as tecnologias e posso dizer com certeza que a curva de aprendizado não é tão grande entre as duas.

Uma das dificuldades que estou sentindo na programação em Silverlight é a falta de algumas (várias) sobrecargas de métodos. Isso não chega a ser um problema, mas incomoda quando se tenta utilizar um código antigo numa aplicação Silverlight.

Vou colocar dois códigos bem simples, que provavelmente você já deva ter usado:

&lt;div style=&quot;font-family: Courier New; font-size: 8pt; color: black; background: white;&quot;&gt;&lt;pre style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;color: blue;&quot;&gt;public&lt;/span&gt; &lt;span style=&quot;color: blue;&quot;&gt;bool&lt;/span&gt; IsConvertible(&lt;span style=&quot;color: #2b91af;&quot;&gt;Type&lt;/span&gt; type)&lt;/pre&gt;&lt;pre style=&quot;margin: 0px;&quot;&gt;{&lt;/pre&gt;&lt;pre style=&quot;margin: 0px;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;span style=&quot;color: blue;&quot;&gt;return&lt;/span&gt; type.GetInterface(&lt;span style=&quot;color: #a31515;&quot;&gt;&amp;quot;IConvertible&amp;quot;&lt;/span&gt;) != &lt;span style=&quot;color: blue;&quot;&gt;null&lt;/span&gt;;&lt;/pre&gt;&lt;pre style=&quot;margin: 0px;&quot;&gt;}&lt;/pre&gt;&lt;pre style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;color: blue;&quot;&gt;public&lt;/span&gt; T ConvertEnum&amp;lt;T&amp;gt;(&lt;span style=&quot;color: blue;&quot;&gt;object&lt;/span&gt; src)&lt;/pre&gt;&lt;pre style=&quot;margin: 0px;&quot;&gt;{&lt;/pre&gt;&lt;pre style=&quot;margin: 0px;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;span style=&quot;color: #2b91af;&quot;&gt;Type&lt;/span&gt; type = &lt;span style=&quot;color: blue;&quot;&gt;typeof&lt;/span&gt;(T);&lt;/pre&gt;&lt;pre style=&quot;margin: 0px;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;span style=&quot;color: blue;&quot;&gt;return&lt;/span&gt; (T)&lt;span style=&quot;color: #2b91af;&quot;&gt;Enum&lt;/span&gt;.Parse(type, src.ToString());&lt;/pre&gt;&lt;pre style=&quot;margin: 0px;&quot;&gt;}&lt;/pre&gt;&lt;/div&gt;
Pois bem, apesar de bem simples os dois métodos acima não funcionam exatamente como estão. Isso porque exatamente a sobrecarga utilizada não existe em Silverlght. Obviamente que se passarmos outro parâmetro a acessarmos a outra sobrecarga podemos ver que o Silverlight possui apenas uma forma de acesso, conforme abaixo.

&lt;div style=&quot;font-family: Courier New; font-size: 8pt; color: black; background: white;&quot;&gt;&lt;pre style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;color: blue;&quot;&gt;public&lt;/span&gt; &lt;span style=&quot;color: blue;&quot;&gt;bool&lt;/span&gt; IsConvertible(&lt;span style=&quot;color: #2b91af;&quot;&gt;Type&lt;/span&gt; type)&lt;/pre&gt;&lt;pre style=&quot;margin: 0px;&quot;&gt;{&lt;/pre&gt;&lt;pre style=&quot;margin: 0px;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;span style=&quot;color: blue;&quot;&gt;return&lt;/span&gt; type.GetInterface(&lt;span style=&quot;color: #a31515;&quot;&gt;&amp;quot;IConvertible&amp;quot;&lt;/span&gt;, &lt;span style=&quot;color: blue;&quot;&gt;false&lt;/span&gt;) != &lt;span style=&quot;color: blue;&quot;&gt;null&lt;/span&gt;;&lt;/pre&gt;&lt;pre style=&quot;margin: 0px;&quot;&gt;}&lt;/pre&gt;&lt;pre style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;color: blue;&quot;&gt;public&lt;/span&gt; T ConvertEnum&amp;lt;T&amp;gt;(&lt;span style=&quot;color: blue;&quot;&gt;object&lt;/span&gt; src)&lt;/pre&gt;&lt;pre style=&quot;margin: 0px;&quot;&gt;{&lt;/pre&gt;&lt;pre style=&quot;margin: 0px;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;span style=&quot;color: #2b91af;&quot;&gt;Type&lt;/span&gt; type = &lt;span style=&quot;color: blue;&quot;&gt;typeof&lt;/span&gt;(T);&lt;/pre&gt;&lt;pre style=&quot;margin: 0px;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;span style=&quot;color: blue;&quot;&gt;return&lt;/span&gt; (T)&lt;span style=&quot;color: #2b91af;&quot;&gt;Enum&lt;/span&gt;.Parse(type, src.ToString(), &lt;span style=&quot;color: blue;&quot;&gt;false&lt;/span&gt;);&lt;/pre&gt;&lt;pre style=&quot;margin: 0px;&quot;&gt;}&lt;/pre&gt;&lt;/div&gt;
A lista de diferenças e bastante grande, inclui também coisas que se costuma usar com muita frequência até em WPF como é o caso do &lt;span style=&quot;font-family: Courier New; font-size: 9pt;color: #2b91af;&quot;&gt;DependencyProperty&lt;/span&gt;&lt;span style=&quot;font-family: Courier New; font-size: 9pt;color:#000000&quot;&gt;.Register&lt;/span&gt; que também não tem nenhuma sobrecarga no Silverlight.

É só com o dia a dia é que notaremos todas essas diferenças. Não pode-se culpar a equipe de deselvolvimento do Silverlight pois afinal de contas a diferença no tamanho do plugin para o framework .NET completo teria que estar em algum lugar. Mágica não existe.

Enjoy</description><link>http://blog.vitorcanova.net/2009/09/cade-as-sobrecargas-no-silverlight.html</link><author>noreply@blogger.com (Vitor Canova)</author><thr:total>0</thr:total></item></channel></rss>