<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://geeks.ms/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>El Blog de José Luis Latorre en Geeks.ms : silverlight</title><link>http://geeks.ms/blogs/jllatorre/archive/tags/silverlight/default.aspx</link><description>Etiquetas: silverlight</description><dc:language /><generator>CommunityServer 2008.5 SP1 (Build: 31106.3070)</generator><item><title>"Project3DToMouse"  -  agregando Proyección 3D al movimiento del ratón con estilo</title><link>http://geeks.ms/blogs/jllatorre/archive/2010/06/07/quot-project3dtomouse-quot-agregando-proyecci-243-n-3d-al-movimiento-del-rat-243-n-con-estilo.aspx</link><pubDate>Mon, 07 Jun 2010 00:09:00 GMT</pubDate><guid isPermaLink="false">2a2e7ade-7474-448b-9de5-1515d8bb7d1b:177720</guid><dc:creator>Jose Luis Latorre</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://geeks.ms/blogs/jllatorre/rsscomments.aspx?PostID=177720</wfw:commentRss><wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://geeks.ms/blogs/jllatorre/commentapi.aspx?PostID=177720</wfw:comment><comments>http://geeks.ms/blogs/jllatorre/archive/2010/06/07/quot-project3dtomouse-quot-agregando-proyecci-243-n-3d-al-movimiento-del-rat-243-n-con-estilo.aspx#comments</comments><description>&lt;p&gt;&lt;span style="font-size:12px;"&gt;Los Comportamientos, m&amp;aacute;s
conocidos como Behaviors, fueron una de las grandes adiciones de Silverlight 3 y
solo han hecho que mejorar con Silverlight 4. Uno de las cosas con las que
acostumbro a trastear en casa desde que apareci&amp;oacute; han sido las animaciones y
proyecciones 3D, tratando de conseguir efectos e interacciones avanzados... El
punto principal es que no son sencillos de implementar y es complejo de
&amp;quot;ajustar&amp;quot; por uno mismo ya que implica recodificar cada vez que se
quiere cambiar una personalizaci&amp;oacute;n... claro est&amp;aacute; que con los behaviors esto es
mucho m&amp;aacute;s c&amp;oacute;modo, ofreci&amp;eacute;ndonos un gran interfaz para personalizar nuestros
efectos sin mucho esfuerzo.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;Con esto en mente he hecho este
comportamiento que realiza una Proyecci&amp;oacute;n 3D en base a la posici&amp;oacute;n relativa del
rat&amp;oacute;n. Lo pod&amp;eacute;is probar aqu&amp;iacute;: &lt;/p&gt;
&lt;p&gt;&lt;a href="http://www.brainsiders.com/playground/Project3DToMouse/default.html"&gt;http://www.brainsiders.com/playground/Project3DToMouse/default.html&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/jllatorre/Sample.png"&gt;&lt;img border="0" src="http://geeks.ms/resized-image.ashx/__size/550x0/__key/CommunityServer.Blogs.Components.WeblogFiles/jllatorre/Sample.png" alt="" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Que hace?&lt;/p&gt;
&lt;ul class="unIndentedList"&gt;
&lt;li&gt;
Anima una proyecci&amp;oacute;n del FrameworkElement
objetivo en los ejes X e Y de forma proporcional a la posici&amp;oacute;n del rat&amp;oacute;n
respecto otro FrameworkElement, normalmente el panel base, LayoutRoot.&lt;/li&gt;
&lt;li&gt;
Calcula la proyecci&amp;oacute;n y la aplica con unos
grados de amplitud personalizable para los ejes X e Y. Porque no una &amp;uacute;nica
amplitud? pues porque la pantalla no es proporcional y esto permite ofrecer una
experiencia m&amp;aacute;s adecuada a las dimensiones de la misma, o bien ofrecer este
efecto de una forma muy concreta (vertical, horizontal).&lt;/li&gt;
&lt;li&gt;
Tambi&amp;eacute;n realiza una animaci&amp;oacute;n configurable en
tiempo y Easing, con lo que un dise&amp;ntilde;ador o alguien con gusto puede hacer alg&amp;uacute;n
efecto interesante, haciendo que se mueva suavemente o de una forma divertida
con un movimiento el&amp;aacute;stico, por ejemplo..&lt;/li&gt;
&lt;li&gt;
Tambi&amp;eacute;n he a&amp;ntilde;adido un flag para decidir si la
orientaci&amp;oacute;n ser&amp;aacute; respecto el rat&amp;oacute;n o versus el mismo.&lt;/li&gt;
&lt;li&gt;
y, si el rat&amp;oacute;n sale del &amp;aacute;mbito de actuaci&amp;oacute;n, nos
realiza una animaci&amp;oacute;n a la posici&amp;oacute;n de inicio.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;a href="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/jllatorre/BehaviorInterface.png"&gt;&lt;img border="0" src="http://geeks.ms/resized-image.ashx/__size/550x0/__key/CommunityServer.Blogs.Components.WeblogFiles/jllatorre/BehaviorInterface.png" alt="" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Yendo al c&amp;oacute;digo, todo est&amp;aacute;
categorizado con descripciones para ayudar a un uso intuitivo, se adapta bien a
FrameworkElements de tama&amp;ntilde;o fijo o din&amp;aacute;mico y el StoryBoard se genera en
memoria, con lo que no puede solaparse con otra animaci&amp;oacute;n del mismo nombre as&amp;iacute;
como este comportamiento puede aplicarse a m&amp;aacute;s de un elemento de la p&amp;aacute;gina o
control de usuario.&lt;/p&gt;
&lt;p&gt;Todo el &amp;quot;cableado&amp;quot; se
ha realizado en los eventos OnAttached y OnDetaching, el Invoke no hace nada,
as&amp;iacute; que podr&amp;iacute;a ser eliminado... He utilizado el TargetedTriggerAction ya que
necesito recoger los eventos del rat&amp;oacute;n desde un control que ocupe la pantalla
completa y aplicar el efecto a otro control preferiblemente m&amp;aacute;s peque&amp;ntilde;o para
apreciar el efecto. Ser&amp;iacute;a bueno que pudi&amp;eacute;ramos desactivar el &amp;quot;invoke&amp;quot;
de ciertos Behaviors para que los dise&amp;ntilde;adores no se confundan...&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Sobre c&amp;oacute;mo utilizar este
comportamiento, es f&amp;aacute;cil, copiar el archivo Project2Mouse.cs a tu proyecto y
listo.. bueno, al menos para un desarrollador... para un dise&amp;ntilde;ador ser&amp;iacute;a bueno
que pudi&amp;eacute;ramos a&amp;ntilde;adir los comportamientos de una forma f&amp;aacute;cil, como un plug-in o
una carpeta de behaviors y blend los mostrase y permitiera utilizarlos tal cual
y, al a&amp;ntilde;adirlos, agregase las referencias pertinentes.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Otra cosa que hallo algo
por ahora algo molesta es que la actual interfaz es buena para 10 o 20 comportamientos
pero a la que se supera esta cifra hallar un comportamiento ya no es algo
inmediato.. Ser&amp;iacute;a muy bueno si pudi&amp;eacute;ramos categorizar los comportamientos por
nombre, autor, categor&amp;iacute;a y etiquetas..&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Para obtener el
comportamiento, este est&amp;aacute; publicado en la galer&amp;iacute;a de comportamientos de Microsoft
Expression, ubicada aqu&amp;iacute;:&lt;/p&gt;
&lt;p&gt;&lt;a href="http://gallery.expression.microsoft.com/en-us/Project3DToMouse"&gt;http://gallery.expression.microsoft.com/en-us/Project3DToMouse&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Obviamente con todo el
c&amp;oacute;digo fuente y con una aplicaci&amp;oacute;n de test.&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:12px;"&gt;Estoy pensando en
publicar otros Behaviors, pero despu&amp;eacute;s de limpiar toda la porquer&amp;iacute;a que suele
aparecer al jugar con diferentes animaciones e ideas hasta que sale el efecto
deseado..&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:12px;"&gt;Si se te ocurre alguna
idea para un comportamiento (Behavior) interesante, estar&amp;eacute; interesado escuchar
de &amp;eacute;l para tratar de implementarlo... mientras tanto agradecer&amp;eacute; cualquier idea
de mejora sobre el ya implementado y, si os gusta, pues pod&amp;eacute;is votarlo positivamente
en la galer&amp;iacute;a :).&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:12px;"&gt;Happy coding!&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://geeks.ms/aggbug.aspx?PostID=177720" width="1" height="1"&gt;</description><category domain="http://geeks.ms/blogs/jllatorre/archive/tags/3D/default.aspx">3D</category><category domain="http://geeks.ms/blogs/jllatorre/archive/tags/silverlight/default.aspx">silverlight</category><category domain="http://geeks.ms/blogs/jllatorre/archive/tags/blend/default.aspx">blend</category><category domain="http://geeks.ms/blogs/jllatorre/archive/tags/behavior/default.aspx">behavior</category><category domain="http://geeks.ms/blogs/jllatorre/archive/tags/silverlight+4/default.aspx">silverlight 4</category></item><item><title>Nuevos temas lanzados para Silverlight 4.0 - Estupendo pero.. es suficiente?</title><link>http://geeks.ms/blogs/jllatorre/archive/2010/05/31/nuevos-temas-lanzados-para-silverlight-4-0-estupendo-pero-es-suficiente.aspx</link><pubDate>Mon, 31 May 2010 10:57:00 GMT</pubDate><guid isPermaLink="false">2a2e7ade-7474-448b-9de5-1515d8bb7d1b:177495</guid><dc:creator>Jose Luis Latorre</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://geeks.ms/blogs/jllatorre/rsscomments.aspx?PostID=177495</wfw:commentRss><wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://geeks.ms/blogs/jllatorre/commentapi.aspx?PostID=177495</wfw:comment><comments>http://geeks.ms/blogs/jllatorre/archive/2010/05/31/nuevos-temas-lanzados-para-silverlight-4-0-estupendo-pero-es-suficiente.aspx#comments</comments><description>&lt;div&gt;Recientemte Tim Heuer ha lanzado varios &amp;quot;themes&amp;quot; para Silverlight 4, podeis leer &lt;a href="http://timheuer.com/blog/archive/2010/05/03/new-silverlight-4-themes-available-for-download.aspx"&gt;http://timheuer.com/blog/archive/2010/05/03/new-silverlight-4-themes-available-for-download.aspx&lt;/a&gt;&amp;nbsp;y &lt;a href="http://timheuer.com/blog/archive/2010/05/17/silverlight-4-tools-released-and-new-application-templates.aspx"&gt;http://timheuer.com/blog/archive/2010/05/17/silverlight-4-tools-released-and-new-application-templates.aspx&lt;/a&gt;, junto con el lanzamiento de las Silverlight tools for Visual Studio 2010. &lt;/div&gt;
&lt;div&gt;&lt;/div&gt;
&lt;div&gt;Aunque esta noticia se vio abrumada por la de las tools, creo que es muy interesante ya que estan definiendo (o como minimo proponiendo) un est&amp;aacute;ndar para la definici&amp;oacute;n de temas para Silverllight...&lt;/div&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;div&gt;Realmente hacia tiempo que esperabamos un ejemplo como estos, ya que es lo que pretende Silverlight &amp;amp; WPF y como herramienta de dise&amp;ntilde;o Blend: Desacoplar la interacci&amp;oacute;n entre la parte relativa al dise&amp;ntilde;ador y la parte asociada al desarrollador. &lt;/div&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;div&gt;Este trabajo se mejor&amp;oacute; con la aparici&amp;oacute;n de los comportamientos, en Blend -Silverlight 3.0&amp;nbsp; y con soporte mejorado para Blend 4.0 (beta) y SL 4.0.&lt;/div&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;div&gt;Por ahora el modo de generar y manejar todo esto, es colocar una serie de archivos en una carpeta de &amp;quot;Assets&amp;quot; que si se hace bien contempla varios archivos de estilos, librerias de recursos y varios comportamientos, ver &lt;a target="_blank" href="http://storage.timheuer.com/newthemes-structure1.png"&gt;http://storage.timheuer.com/newthemes-structure1.png&lt;/a&gt;&lt;/div&gt;
&lt;div&gt;Tambien puede incorporar alguna fuente, imagen o video, segun el estilo en cuesti&amp;oacute;n.&lt;/div&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;div&gt;Ello en si es algo grande, nos permite desacoplar la interacci&amp;oacute;n de estilos y es relativamente simple.... para desarrolladores...&amp;nbsp; para un dise&amp;ntilde;ador &amp;quot;puro&amp;quot; esto es complejo y cuesta.&lt;/div&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;div&gt;Mi propuesta de enfoque es simplificar aun m&amp;aacute;s el modelo de interacci&amp;oacute;n para los temas ya que tienen entidad propia, pues asignarles un tipo de proyecto propio, Biblioteca de temas, estilo cosmopolitan.theme.dll...&lt;/div&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;div&gt;De forma que un dise&amp;ntilde;ador pueda crear una biblioteca de temas estilo &amp;quot;Cosmopolitan.theme.dll&amp;quot; y la aplicaci&amp;oacute;n pueda cambiar en cualquier momento el theme que utiliza sin tener que eliminar archivos de estilos, behaviors, imagenes, fuentes, etc... sino incluso pueda tener varias librerias de estilo asociadas y cambiarla como desee v&amp;iacute;a codigo o, mejor, mediante un comportamiento.&lt;/div&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;div&gt;&lt;/div&gt;
&lt;div&gt;Ventajas de mi propuesta: &lt;/div&gt;
&lt;ul&gt;
&lt;li&gt;El dise&amp;ntilde;ador podr&amp;aacute; abstraerse de la complejidad de la aplicacion y&amp;nbsp;dise&amp;ntilde;ar solo en la biblioteca de estilos.&lt;/li&gt;
&lt;li&gt;El dise&amp;ntilde;ador evita tocar todo c&amp;oacute;digo sensible del desarrollador - favorecemos la separaci&amp;oacute;n y desacoplamiento.&lt;/li&gt;
&lt;li&gt;Favorecemos el mercado potencial de &amp;quot;themes&amp;quot; para Silverlight. Si yo quiero vender themes, seria bueno que la tecnolog&amp;iacute;a los soportase.&lt;/li&gt;
&lt;li&gt;Favorece el reaprovechamiento de themes para crear otros y estimular asi la creatividad y &amp;quot;competitividad&amp;quot; entre dise&amp;ntilde;adores (y desarrolladores).&lt;/li&gt;
&lt;li&gt;Se hara por fin muy visible la ventaja de Blend y Silverlight para desacoplar totalmente la parte de aspecto e interacci&amp;oacute;n visual con la de programaci&amp;oacute;n. (muy necesario).&lt;/li&gt;
&lt;/ul&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;div&gt;Por otro lado es muy facil montar un proyecto de test generico en el cual se visualicen varias paginas con todos los controles, los de SL basicos, los del SDK, graficos, los de la Toolkit asi como que sea facil de a&amp;ntilde;adir dinamicamente controles propios... y que el dise&amp;ntilde;ador probase el estilo sin menor problema.&lt;/div&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;div&gt;Y ya por pedir, esto seria buenisimo que estuviera integrado en Blend 4.0....&lt;/div&gt;
&lt;div&gt;Por otro lado, el tipo de dll propuesto &amp;quot;theme.dll&amp;quot; no es que es m&amp;aacute;s que una dll normal de silverlight, es solo una plantilla facil de hacer con implementaciones de todos los controles por defecto. solo se cambiarian las plantillas para que gestionaran estas plantillas permitiendo su carga y descarga dinamica en base al directorio de Assets, por ejemplo). MEF nos permitiria hacer esto muy facilmente..&lt;/div&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;div&gt;Como lo veis? que opinion os merece esta idea??&lt;/div&gt;
&lt;div&gt;&lt;/div&gt;
&lt;div&gt;Si os parece bien podeis votarla como una propuesa de features para Silverlight: &lt;a href="http://dotnet.uservoice.com/forums/4325-silverlight-feature-suggestions/suggestions/793999-support-for-theme-projects-dynamic-theme-switchi"&gt;http://dotnet.uservoice.com/forums/4325-silverlight-feature-suggestions/suggestions/793999-support-for-theme-projects-dynamic-theme-switchi&lt;/a&gt;&lt;/div&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://geeks.ms/aggbug.aspx?PostID=177495" width="1" height="1"&gt;</description><category domain="http://geeks.ms/blogs/jllatorre/archive/tags/silverlight/default.aspx">silverlight</category><category domain="http://geeks.ms/blogs/jllatorre/archive/tags/blend/default.aspx">blend</category><category domain="http://geeks.ms/blogs/jllatorre/archive/tags/themes/default.aspx">themes</category><category domain="http://geeks.ms/blogs/jllatorre/archive/tags/behavior/default.aspx">behavior</category><category domain="http://geeks.ms/blogs/jllatorre/archive/tags/styles/default.aspx">styles</category></item><item><title>Participacion al MIX 10K publicada!</title><link>http://geeks.ms/blogs/jllatorre/archive/2010/02/01/participacion-al-mix-10k-publicada.aspx</link><pubDate>Mon, 01 Feb 2010 08:50:00 GMT</pubDate><guid isPermaLink="false">2a2e7ade-7474-448b-9de5-1515d8bb7d1b:166376</guid><dc:creator>Jose Luis Latorre</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://geeks.ms/blogs/jllatorre/rsscomments.aspx?PostID=166376</wfw:commentRss><wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://geeks.ms/blogs/jllatorre/commentapi.aspx?PostID=166376</wfw:comment><comments>http://geeks.ms/blogs/jllatorre/archive/2010/02/01/participacion-al-mix-10k-publicada.aspx#comments</comments><description>&lt;p&gt;Bueno este a&amp;ntilde;o creo que no me ha quedado mal del todo mi participaci&amp;oacute;n geek al concurso MIX 10K.&lt;/p&gt;
&lt;p&gt;Mi aplicaci&amp;oacute;n es la &amp;quot;The Fabulous Silver Magic Lantern&amp;quot; que podeis ver aqui: &lt;a href="http://mix10k.visitmix.com/Entry/Details/261"&gt;http://mix10k.visitmix.com/Entry/Details/261&lt;/a&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Se agradeceran comentarios y obviamente votos acompa&amp;ntilde;ando a estos ;)&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;Basicamente es un motor de busqueda en imagenes de bing, pudiendo configurar la b&amp;uacute;squeda mediante diales en plan victoriano y steampunk :) y una visualizaci&amp;oacute;n tambien &amp;quot;a la epoca&amp;quot;, luego hay algo de cinematica inversa aplicada y un efecto para la lupa... todo en 10kb&lt;/p&gt;
&lt;p&gt;En breve publicare como he hecho para&amp;nbsp;hacer que me&amp;nbsp;quepa todo esto&amp;nbsp;en 10k... estad atentos ;)&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://geeks.ms/aggbug.aspx?PostID=166376" width="1" height="1"&gt;</description><category domain="http://geeks.ms/blogs/jllatorre/archive/tags/concurso/default.aspx">concurso</category><category domain="http://geeks.ms/blogs/jllatorre/archive/tags/silverlight/default.aspx">silverlight</category><category domain="http://geeks.ms/blogs/jllatorre/archive/tags/mix/default.aspx">mix</category><category domain="http://geeks.ms/blogs/jllatorre/archive/tags/entry/default.aspx">entry</category><category domain="http://geeks.ms/blogs/jllatorre/archive/tags/entrada/default.aspx">entrada</category><category domain="http://geeks.ms/blogs/jllatorre/archive/tags/mix10k/default.aspx">mix10k</category><category domain="http://geeks.ms/blogs/jllatorre/archive/tags/community/default.aspx">community</category><category domain="http://geeks.ms/blogs/jllatorre/archive/tags/10k/default.aspx">10k</category></item><item><title>Dynamic Backgrounds / Fondos dinámicos en Silverlight</title><link>http://geeks.ms/blogs/jllatorre/archive/2009/10/23/dynamic-backgrounds-fondos-din-225-micos-en-silverlight.aspx</link><pubDate>Fri, 23 Oct 2009 12:22:00 GMT</pubDate><guid isPermaLink="false">2a2e7ade-7474-448b-9de5-1515d8bb7d1b:158725</guid><dc:creator>Jose Luis Latorre</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://geeks.ms/blogs/jllatorre/rsscomments.aspx?PostID=158725</wfw:commentRss><wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://geeks.ms/blogs/jllatorre/commentapi.aspx?PostID=158725</wfw:comment><comments>http://geeks.ms/blogs/jllatorre/archive/2009/10/23/dynamic-backgrounds-fondos-din-225-micos-en-silverlight.aspx#comments</comments><description>&lt;p&gt;Siguiendo el hilo del post anterior, he creado un proyecto codeplex para que sea repositorio de diferentes experimentos de Experiencias de Usuario, con el objetivo de ofrecer diferentes fondos interactivos al usuario, que interaccionen con el movimiento del rat&amp;oacute;n y mejore la experiencia sin ser excesivamente cautivadores - o si, porque no ;) - para capturar toda la atenci&amp;oacute;n que deberia recibir el sitio web..&lt;/p&gt;
&lt;p&gt;La idea principal es a&amp;ntilde;adir implementaciones claras de estas tecnicas de fondos y por ahora hay el sistema de parallax que nos permite proporcionar diferentes elementos a traves de varias capas generadas aleatoriamente a profundidades diferentes, entonces el sistema mueve m&amp;aacute;s o menos la scapas en funci&amp;oacute;n de lo lejos que estas esten del monitor, proporcionando un interesante efecto de profundidad.&lt;/p&gt;
&lt;p&gt;Utilice la t&amp;eacute;ncica para el concurso 10K del mix (inetians, post anterior) y tambien para otros websites, que aun no han visto la luz :( - uno es el proyecto de una &amp;quot;segunda&amp;quot; competici&amp;oacute;n de Silverlight similar a la pasada European Silverlight Challenge &lt;a href="http://silverlightchallenge.eu/"&gt;http://silverlightchallenge.eu/&lt;/a&gt;&amp;nbsp;pero esta esta enfocada a un publico global, En cualquier caso el momento no ha sido el idoneo y la cirsis ha ayudado a que esto no sea una realidad... estos ultimos meses hemos estado desbordados con competiciones asi que tampoco tenia sentido algo as&amp;iacute;...-&amp;nbsp; en cualuquier caso, si crees que esto tendria sentido, realizar una competici&amp;oacute;n global coordinada por y para la comunidad y liarla parda, simplemente hazmelo saber ya que es un tema de buscar patrocinadores y colaboradores... todo lo demas ya esta escrito y planificado... ;) -&amp;nbsp;puedes&amp;nbsp;echar una ojeada a &lt;a href="http://silverlightchallenge.ineta.org/"&gt;http://silverlightchallenge.ineta.org/&lt;/a&gt;&amp;nbsp;pero no aseguro que ma&amp;ntilde;ana o en 10&amp;#39; este funcionando...ya he avisado... ;) pero ten en consideraci&amp;oacute;n que es un trabajo en progreso y dejado aparte, pido perdon por ello...&lt;/p&gt;
&lt;p&gt;Tambien hay otro sitio que esta utilizando este acercamiento de una forma muy evolucionada, con mejores algoritmos y un tema &amp;quot;estelar&amp;quot; con astros ubicados aleatoriamente con formas y figuras diferentes...asi como una mejor interacci&amp;oacute;n con el raton y la animaci&amp;oacute;n.. pero aun esta por finalizarse y publicarse :P asi que no puedo decir m&amp;aacute;s o una empresa&amp;nbsp;cuyo nombre&amp;nbsp;empieza con &amp;quot;M&amp;quot; podria enfadarse..&lt;/p&gt;
&lt;p&gt;Podeis descargaros el codigo y decirme que pensais, esta hospedado en Codeplex; &lt;a href="http://dynamicbackgrounds.codeplex.com/"&gt;http://dynamicbackgrounds.codeplex.com/&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Tambien os animo a proponer ideas y variaciones de fondos&amp;nbsp; para desarrollar t&amp;eacute;cnicas asi como si quereis apoyar el proyecto estare encantado de invitaros y compartir las ideas que hay para el mismo...&lt;/p&gt;
&lt;p&gt;:)&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://geeks.ms/aggbug.aspx?PostID=158725" width="1" height="1"&gt;</description><category domain="http://geeks.ms/blogs/jllatorre/archive/tags/user+interface/default.aspx">user interface</category><category domain="http://geeks.ms/blogs/jllatorre/archive/tags/silverlight/default.aspx">silverlight</category><category domain="http://geeks.ms/blogs/jllatorre/archive/tags/parallax/default.aspx">parallax</category><category domain="http://geeks.ms/blogs/jllatorre/archive/tags/interaction/default.aspx">interaction</category><category domain="http://geeks.ms/blogs/jllatorre/archive/tags/efectos/default.aspx">efectos</category><category domain="http://geeks.ms/blogs/jllatorre/archive/tags/mouse/default.aspx">mouse</category><category domain="http://geeks.ms/blogs/jllatorre/archive/tags/fondo/default.aspx">fondo</category><category domain="http://geeks.ms/blogs/jllatorre/archive/tags/user+experience/default.aspx">user experience</category><category domain="http://geeks.ms/blogs/jllatorre/archive/tags/background/default.aspx">background</category></item><item><title>INETIANS 10k codligo liberado :)</title><link>http://geeks.ms/blogs/jllatorre/archive/2009/10/23/inetians-10k-codligo-liberado.aspx</link><pubDate>Fri, 23 Oct 2009 12:14:00 GMT</pubDate><guid isPermaLink="false">2a2e7ade-7474-448b-9de5-1515d8bb7d1b:158723</guid><dc:creator>Jose Luis Latorre</dc:creator><slash:comments>2</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://geeks.ms/blogs/jllatorre/rsscomments.aspx?PostID=158723</wfw:commentRss><wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://geeks.ms/blogs/jllatorre/commentapi.aspx?PostID=158723</wfw:comment><comments>http://geeks.ms/blogs/jllatorre/archive/2009/10/23/inetians-10k-codligo-liberado.aspx#comments</comments><description>&lt;p&gt;Bueno, me ha tomado algun tiempo pero justo he publicado el codigo fuente de mi entrada para el concurso MIX 10K, que puede verse en &lt;a href="http://2009.visitmix.com/MIXtify/TenKDisplay.aspx?SubmissionID=0138"&gt;http://2009.visitmix.com/MIXtify/TenKDisplay.aspx?SubmissionID=0138&lt;/a&gt;.&lt;/p&gt;
&lt;p style="text-align:left;"&gt;&lt;img height="142" width="194" src="http://silverlightguy.wordpress.com/files/2009/02/inetians.png" alt="inetians" title="inetians" /&gt;&lt;br /&gt;&amp;nbsp;&lt;br /&gt;Este viene de varios experimentos con el fondo y con elementos interactivos, tecnicas de parallax, simulacion de la vida, y a destacar el sistema de control del fondo de pantalla, para el que me inspire en la tecnica parallax, muy comun en videojuegos de anta&amp;ntilde;o - para ver una explicaci&amp;oacute;n teorica del mismo teneis una estupenda entrada de entry Jose Fajardo, &lt;a href="http://www.cynergysystems.com/blogs/page/josefajardo?entry=what_a_beautiful_thou_distracting"&gt;http://www.cynergysystems.com/blogs/page/josefajardo?entry=what_a_beautiful_thou_distracting&lt;/a&gt; en la ue introduce un interesante efecto parallax que he tratado de emular y hacer un poco m&amp;aacute;s sencillo y extensible -&amp;nbsp;lo teneis en el siguiente proyecto&amp;nbsp;Open Source en codeplex, desde el que podeis obtener el codigo: &lt;a href="http://inetians.codeplex.com/"&gt;http://inetians.codeplex.com/&lt;/a&gt;&lt;/p&gt;
&lt;p style="text-align:left;"&gt;Ah, el codigo esta actualizado a SL3..&lt;/p&gt;
&lt;p style="text-align:left;"&gt;:)&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://geeks.ms/aggbug.aspx?PostID=158723" width="1" height="1"&gt;</description><category domain="http://geeks.ms/blogs/jllatorre/archive/tags/silverlight/default.aspx">silverlight</category><category domain="http://geeks.ms/blogs/jllatorre/archive/tags/source+code/default.aspx">source code</category><category domain="http://geeks.ms/blogs/jllatorre/archive/tags/parallax/default.aspx">parallax</category><category domain="http://geeks.ms/blogs/jllatorre/archive/tags/effects/default.aspx">effects</category><category domain="http://geeks.ms/blogs/jllatorre/archive/tags/codeplex/default.aspx">codeplex</category></item><item><title>Codecamp Tarragona 2009 y banner nuevo ;)</title><link>http://geeks.ms/blogs/jllatorre/archive/2009/07/18/codecamp-tarragona-2009-y-banner-nuevo.aspx</link><pubDate>Sat, 18 Jul 2009 16:05:00 GMT</pubDate><guid isPermaLink="false">2a2e7ade-7474-448b-9de5-1515d8bb7d1b:152599</guid><dc:creator>Jose Luis Latorre</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://geeks.ms/blogs/jllatorre/rsscomments.aspx?PostID=152599</wfw:commentRss><wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://geeks.ms/blogs/jllatorre/commentapi.aspx?PostID=152599</wfw:comment><comments>http://geeks.ms/blogs/jllatorre/archive/2009/07/18/codecamp-tarragona-2009-y-banner-nuevo.aspx#comments</comments><description>&lt;p&gt;Como&amp;nbsp;coordinador de BcnDev, estoy colaborando en la organizaci&amp;oacute;n&amp;nbsp;del Codecamp Tarragona 2009 y he realizado un Banner en Silverlight 3 para promocionarlo, que queria compartir con vosotros.&lt;/p&gt;
&lt;p&gt;Le he puesto un contador de d&amp;iacute;as, utilizando como base el proyecto Silverlight CountDown, que se halla en&amp;nbsp;&lt;a href="http://silverlightgadgets.codeplex.com/"&gt;http://silverlightgadgets.codeplex.com/&lt;/a&gt;, al que he a&amp;ntilde;adido un temporizador para que visualize cada X tiempo un patrocinador diferente.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;El banner es este :&lt;/p&gt;
&lt;p&gt;&lt;iframe scrolling="no" frameborder="0" src="http://silverlight.services.live.com/invoke/16245/CodecampTarragona2009/iframe.html" style="width:200px;height:77px;"&gt;&lt;/iframe&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;Que os parece? agradecer&amp;eacute; cualquier comentario!! &lt;/p&gt;
&lt;p&gt;Para a&amp;ntilde;adirlo, el codigo es este:&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family:courier new,monospace;"&gt;&lt;span style="font-size:medium;"&gt;&amp;lt;iframe src=&amp;quot;&lt;/span&gt;&lt;a target="_blank" href="http://silverlight.services.live.com/invoke/16245/CodecampTarragona2009/iframe.html"&gt;&lt;span style="font-size:medium;"&gt;http://silverlight.services.live.com/invoke/16245/CodecampTarragona2009/iframe.html&lt;/span&gt;&lt;/a&gt;&lt;span style="font-size:medium;"&gt;&amp;quot; scrolling=&amp;quot;no&amp;quot; frameborder=&amp;quot;0&amp;quot; style=&amp;quot;width:200px; height:77px&amp;quot;&amp;gt;&amp;lt;/iframe&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;Como no, esta alojado en Silverlight Streaming lo que permite realizar una actualizaci&amp;oacute;n del mismo casi inmediata... &lt;/p&gt;
&lt;p&gt;&amp;nbsp;:)&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://geeks.ms/aggbug.aspx?PostID=152599" width="1" height="1"&gt;</description><category domain="http://geeks.ms/blogs/jllatorre/archive/tags/silverlight/default.aspx">silverlight</category><category domain="http://geeks.ms/blogs/jllatorre/archive/tags/grupos+de+usuarios/default.aspx">grupos de usuarios</category><category domain="http://geeks.ms/blogs/jllatorre/archive/tags/evento/default.aspx">evento</category><category domain="http://geeks.ms/blogs/jllatorre/archive/tags/codecamp/default.aspx">codecamp</category><category domain="http://geeks.ms/blogs/jllatorre/archive/tags/tarragona/default.aspx">tarragona</category></item><item><title>Evento - MSDN &amp; BcnDev: El Futuro con Azure, Silverlight 3 y Windows 7</title><link>http://geeks.ms/blogs/jllatorre/archive/2009/05/20/evento-msdn-amp-bcndev-el-futuro-con-azure-silverlight-3-y-windows-7.aspx</link><pubDate>Wed, 20 May 2009 10:06:00 GMT</pubDate><guid isPermaLink="false">2a2e7ade-7474-448b-9de5-1515d8bb7d1b:148954</guid><dc:creator>Jose Luis Latorre</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://geeks.ms/blogs/jllatorre/rsscomments.aspx?PostID=148954</wfw:commentRss><wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://geeks.ms/blogs/jllatorre/commentapi.aspx?PostID=148954</wfw:comment><comments>http://geeks.ms/blogs/jllatorre/archive/2009/05/20/evento-msdn-amp-bcndev-el-futuro-con-azure-silverlight-3-y-windows-7.aspx#comments</comments><description>&lt;p&gt;El pr&amp;oacute;ximo d&amp;iacute;a 25 de Junio, en colaboraci&amp;oacute;n con MSDN os proponemos Un vistazo a las excitantes novedades que vienen... Windows 7, Azure y Silverlight 3...&lt;/p&gt;
&lt;p&gt;Cuando:&amp;nbsp; &lt;span id="lblStartEndDate" class="timezone"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="padding-left:30px;"&gt;&lt;span id="lblStartEndDate" class="timezone"&gt;Jueves, 25 de junio de 2009 10:00 - jueves, 25 de junio de 2009 14:00 Madrid, Par&amp;iacute;s&lt;/span&gt;
                                    &lt;span id="lblWelcomeTime" class="timezone"&gt;
									&lt;br /&gt;Hora de recepci&amp;oacute;n: 9:30&lt;/span&gt;
                                    &lt;/p&gt;
&lt;p&gt;Lugar:&lt;/p&gt;
&lt;p style="padding-left:30px;"&gt;&lt;span id="lblLocationName"&gt;Cibernarium, Parc Tecnol&amp;ograve;gic Barcelona Nord&lt;/span&gt;&lt;br /&gt;C/Marie Curie s/n&lt;span id="lblAddress2"&gt;&lt;br /&gt;Nou Barris, Barcelona&lt;/span&gt;
                                            
                                            &lt;span id="lblAddress4"&gt;Barcelona&lt;/span&gt;
                                            
                                            08042&lt;span id="lblAddress7"&gt;&lt;br /&gt;Espa&amp;ntilde;a&lt;/span&gt;&lt;/p&gt;
&lt;div id="panLocationAddress"&gt;
                                            
                                            
                                            
                                        
	&lt;/div&gt;
&lt;p&gt;Resumen del evento:&lt;/p&gt;
&lt;p style="padding-left:30px;"&gt;El pr&amp;oacute;ximo dia 25 de Junio, Jueves, os proponemos dar un vistazo al futuro, con tres interesantes sesiones, Windows 7 para desarrolladores, Services Platform &amp;ndash; Plataforma de Cloud computing y una introducci&amp;oacute;n a las novedades de Silverlight 3.&lt;/p&gt;
&lt;p&gt;Agenda:&lt;/p&gt;
&lt;p style="padding-left:30px;"&gt;&lt;span style="color:#000080;font-size:x-small;"&gt;&lt;span style="font-family:Arial;color:black;"&gt;&lt;span&gt;&lt;span style="font-size:small;"&gt;&lt;span style="color:#000000;"&gt;&lt;span style="font-family:Tahoma;font-size:x-small;"&gt;
&lt;p class="MsoNormal" style="margin:0cm 0cm 10pt;padding-left:30px;"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="font-family:Calibri;"&gt;&lt;b&gt;&lt;span style="color:#1f497d;"&gt;10:00-11:10 Windows 7 para desarrolladores&lt;/span&gt;&lt;/b&gt;&lt;span style="color:#1f497d;"&gt;. David Salgado, Microsoft&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0cm 0cm 10pt 35.25pt;padding-left:30px;"&gt;&lt;span style="color:#1f497d;"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="font-family:Calibri;"&gt;Veremos
las oportunidades que ofrece Windows 7 para aplicaciones de escritorio,
c&amp;oacute;mo integrarse en la nueva experiencia propuesta por la versi&amp;oacute;n m&amp;aacute;s
reciente del sistema operativo Windows y c&amp;oacute;mo sacar el m&amp;aacute;ximo partido a
las nuevas APIs&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0cm 0cm 10pt;padding-left:30px;"&gt;&lt;b&gt;&lt;span style="color:#1f497d;"&gt;&lt;span style="font-family:Calibri;font-size:small;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0cm 0cm 10pt;padding-left:30px;"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="font-family:Calibri;"&gt;&lt;b&gt;&lt;span style="color:#1f497d;"&gt;11:20 &amp;ndash; 12:40 Azure Services Platform &amp;ndash; Plataforma de Cloud computing. &lt;/span&gt;&lt;/b&gt;&lt;span style="color:#1f497d;"&gt;David Salgado, &lt;span&gt;&amp;nbsp;&lt;/span&gt;Microsoft&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0cm 0cm 10pt 35.25pt;padding-left:30px;"&gt;&lt;span style="color:#1f497d;"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="font-family:Calibri;"&gt;Podemos
considerar Cloud Computing como un nuevo canal para construir y alojar
aplicaciones. En &amp;eacute;sta sesi&amp;oacute;n repasaremos la plataforma de Cloud
Computing de Microsoft, haciendo hincapi&amp;eacute; en c&amp;oacute;mo utilizar nuestros
conocimientos en .NET para crear aplicaciones para la nube y utilizar
servicios de la plataforma Azure&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0cm 0cm 10pt;padding-left:30px;"&gt;&lt;span style="color:#1f497d;"&gt;&lt;span style="font-family:Calibri;font-size:small;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0cm 0cm 10pt;padding-left:30px;"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="font-family:Calibri;"&gt;&lt;b&gt;&lt;span style="color:#1f497d;"&gt;12:50 &amp;ndash; 14:00 Silverlight 3 &amp;ndash; Experiencia de usuario&lt;/span&gt;&lt;/b&gt;&lt;span style="color:#1f497d;"&gt;. Jos&amp;eacute; Luis Latorre, BcnDev&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0cm 0cm 10pt 35.25pt;padding-left:30px;"&gt;&lt;span style="color:#1f497d;"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="font-family:Calibri;"&gt;WPF
y posteriormente Silverlight y expression Blend marcaron un antes y un
despu&amp;eacute;s a la hora de crear experiencias de usuario en aplicaciones.
Actualmente nos encontramos a las puertas de la versi&amp;oacute;n 3 de
silverlight, que incorpora caracter&amp;iacute;sticas como la funcionalidad
offline, la detecci&amp;oacute;n de la red, los servicios para aplicaciones de
l&amp;iacute;nea de negocio, etc&amp;eacute;tera. En esta sesi&amp;oacute;n repasaremos las bases que
sit&amp;uacute;an a Silverlight como una opci&amp;oacute;n excelente para aplicaciones RIA y
sus nuevas funcionalidades en esta versi&amp;oacute;n 3.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;Registro:&lt;br /&gt;&lt;br /&gt;&lt;a target="_blank" href="http://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032416824&amp;amp;Culture=es-ES"&gt;http://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032416824&amp;amp;Culture=es-ES&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://geeks.ms/aggbug.aspx?PostID=148954" width="1" height="1"&gt;</description><category domain="http://geeks.ms/blogs/jllatorre/archive/tags/.net/default.aspx">.net</category><category domain="http://geeks.ms/blogs/jllatorre/archive/tags/bcndev/default.aspx">bcndev</category><category domain="http://geeks.ms/blogs/jllatorre/archive/tags/silverlight/default.aspx">silverlight</category><category domain="http://geeks.ms/blogs/jllatorre/archive/tags/msdn/default.aspx">msdn</category><category domain="http://geeks.ms/blogs/jllatorre/archive/tags/azure/default.aspx">azure</category><category domain="http://geeks.ms/blogs/jllatorre/archive/tags/windows+7/default.aspx">windows 7</category><category domain="http://geeks.ms/blogs/jllatorre/archive/tags/evento/default.aspx">evento</category></item><item><title>www.houssesandcovers.com, nuevo website desarrollado integramente con Silverlight 2.0</title><link>http://geeks.ms/blogs/jllatorre/archive/2009/03/23/www-houssesandcovers-com-nuevo-website-desarrollado-integramente-con-silverlight-2-0.aspx</link><pubDate>Mon, 23 Mar 2009 01:22:00 GMT</pubDate><guid isPermaLink="false">2a2e7ade-7474-448b-9de5-1515d8bb7d1b:145453</guid><dc:creator>Jose Luis Latorre</dc:creator><slash:comments>7</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://geeks.ms/blogs/jllatorre/rsscomments.aspx?PostID=145453</wfw:commentRss><wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://geeks.ms/blogs/jllatorre/commentapi.aspx?PostID=145453</wfw:comment><comments>http://geeks.ms/blogs/jllatorre/archive/2009/03/23/www-houssesandcovers-com-nuevo-website-desarrollado-integramente-con-silverlight-2-0.aspx#comments</comments><description>&lt;p&gt;Nada, solamente compartir un sencillo website que he hecho completamente con Silverlight 2.0, http://www.houssesandcovers.com/, ahi he utilizado un par de librer&amp;iacute;as interesantes, AgTweener (http://agtweener.codeplex.com/), interesante librer&amp;iacute;a de animaciones para silverlight&amp;nbsp; y ARLayout (http://arlayout.codeplex.com/) para hacer que el layout sea totalmente adaptable y ajustable al tama&amp;ntilde;o -&amp;nbsp; probad&amp;nbsp; a ajustar el tama&amp;ntilde;o del navegador -&lt;/p&gt;
&lt;p&gt;Tambi&amp;eacute;n he utilizado varios snippets de codigo de algunas p&amp;aacute;ginas interesantes, haciendo especial menci&amp;oacute;n a Terence Tsang, de Shinedraw (http://www.shinedraw.com/), y a alg&amp;uacute;n ejemplo de la Silverlight Gallery para el image gallery.&lt;/p&gt;
&lt;p&gt;El dise&amp;ntilde;o es tambi&amp;eacute;n mio con lo que acepto criticas y recomendaciones... :P&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://geeks.ms/aggbug.aspx?PostID=145453" width="1" height="1"&gt;</description><category domain="http://geeks.ms/blogs/jllatorre/archive/tags/silverlight/default.aspx">silverlight</category><category domain="http://geeks.ms/blogs/jllatorre/archive/tags/dise_26002300_241_3B00_o/default.aspx">dise&amp;#241;o</category><category domain="http://geeks.ms/blogs/jllatorre/archive/tags/website/default.aspx">website</category></item><item><title> Inetians – estan vivos!!</title><link>http://geeks.ms/blogs/jllatorre/archive/2009/02/11/inetians-estan-vivos.aspx</link><pubDate>Wed, 11 Feb 2009 08:19:00 GMT</pubDate><guid isPermaLink="false">2a2e7ade-7474-448b-9de5-1515d8bb7d1b:142555</guid><dc:creator>Jose Luis Latorre</dc:creator><slash:comments>2</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://geeks.ms/blogs/jllatorre/rsscomments.aspx?PostID=142555</wfw:commentRss><wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://geeks.ms/blogs/jllatorre/commentapi.aspx?PostID=142555</wfw:comment><comments>http://geeks.ms/blogs/jllatorre/archive/2009/02/11/inetians-estan-vivos.aspx#comments</comments><description>&lt;p&gt;Bien, comentar que mi entrada al concurso Mix 10k&amp;nbsp; ha sido recientemente aceptada y publicada en el website del mismo MIX online,&amp;nbsp; lo puedes ver en vivo aqu&amp;iacute; mismo:&lt;a target="_blank" href="http://2009.visitmix.com/MIXtify/TenKDisplay.aspx?SubmissionID=0138"&gt;http://2009.visitmix.com/MIXtify/TenKDisplay.aspx?SubmissionID=0138&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a target="_blank" href="http://2009.visitmix.com/MIXtify/TenKDisplay.aspx?SubmissionID=0138"&gt;&lt;img src="http://silverlightguy.files.wordpress.com/2009/02/inetians.png?w=194&amp;amp;h=142" style="max-height:142px;max-width:194px;" border="0" alt="" /&gt;&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Este desarrollo viene de un experimento con fondos de pantalla, con parallax, inspirado en los vidojuegos de anta&amp;ntilde;o y en un post muy interesante de Jos&amp;eacute; Fajardo, http://www.cynergysystems.com/blogs/page/josefajardo?entry=what_a_beautiful_thou_distracting en el cual introducia un interesante efecto de fondo de pantalla que he intentado emular y hacer parametrizable y flexible para su reuso &amp;ndash; un proyecto codeplex&amp;nbsp; para este sistema de &amp;ldquo;Background&amp;rdquo; est&amp;aacute; en camino ;).&lt;/p&gt;
&lt;p&gt;Tambien esta basado en otra t&amp;eacute;cnica que hace que el contenido (y su fondo, obviamente) se ajusten al contenedor, ved esta &amp;quot;best practice&amp;quot; implementada y con todo su codigo fuente aqui: &lt;a target="_blank" href="http://www.codeplex.com/ARLayout"&gt;http://www.codeplex.com/ARLayout&lt;/a&gt; ...&lt;/p&gt;
&lt;p&gt;Con mi entrada, tambi&amp;eacute;n queria crear no solamente un fondo est&amp;aacute;tico o elementos est&amp;aacute;ticos del mismo, pero&amp;nbsp; - y porque no -&amp;nbsp; elementos vivos o que pareciesen estarlo y en diferentes niveles, ofreciendo una experiencia interesante a los usuarios del website.&lt;br /&gt;Mientras estaba desarrollando el sistema de Background del website de un concurso pr&amp;oacute;ximo a su lanzamiento, el &amp;ldquo;Global INETA Silverlight Challenge&amp;rdquo;, utilic&amp;eacute; la imagen de los &amp;ldquo;Inetianos&amp;rdquo;, los mu&amp;ntilde;ecos que representan a la comunidad de .Net en el logotipo de INETA, surgi&amp;oacute; la idea y la evoluci&amp;oacute;n estuvo clara&amp;hellip;&lt;br /&gt;A&amp;ntilde;ad&amp;iacute; un control de usuario &amp;ldquo;Inetian&amp;rdquo; con un efecto de movimiento por acumulaci&amp;oacute;n de valores en un vector de velocidad, con una velocidad m&amp;aacute;xima y un control de no salirse del espacio de &amp;ldquo;juego&amp;rdquo; y luego algunas caracter&amp;iacute;sticas, algunos eran hombres, otros mujeres, unos altos y otros m&amp;aacute;s bajos y ten&amp;iacute;an un periodo de duraci&amp;oacute;n, unos a&amp;ntilde;os de vida&amp;hellip; y cuando llegaban a los 18 si encontraban a un inetiano del sexo contrario se acercan al mismo y se reproducen y un nuevo inetiano habr&amp;aacute; nacido (o m&amp;aacute;s ;))&lt;br /&gt;Tambi&amp;eacute;n puse un control sobre cuantos inetianos podian representarse simultaneamente y eso se aplic&amp;oacute; al momento de reproducci&amp;oacute;n, as&amp;iacute; que se puede interpretar como una regulaci&amp;oacute;n de la poblaci&amp;oacute;n v&amp;iacute;a control de reproducci&amp;oacute;n &amp;ndash; mis disculpas por ello &amp;ndash; pero creedme, vuestra pantalla y cpu lo agradecer&amp;aacute;n ;)&lt;br /&gt;Tambi&amp;eacute;n estos inetianos est&amp;aacute;n renderizados en diferentes capas, proporcionando &amp;ndash; al menos inicialmente &amp;ndash; un efecto &amp;ldquo;cool&amp;rdquo; de parallax 3D&lt;br /&gt;Hay algunos elementos interesantes que me hubiera gustado a&amp;ntilde;adir, pero que quit&amp;eacute; por no tener el tiempo o por el limite de 10k impuesto por el concurso:&lt;br /&gt;&lt;br /&gt;-&amp;nbsp;&amp;nbsp;&amp;nbsp; Hacer que se dispersen de forma natural &amp;ndash;todo el mundo necesita su espacio vital.&lt;br /&gt;-&amp;nbsp;&amp;nbsp;&amp;nbsp; A&amp;ntilde;adir elementos de comida, con su duraci&amp;oacute;n en a&amp;ntilde;os y regulando el comportamiento de los Inetianos entre pasear/codificando obviamente.., ligar y comer.&lt;br /&gt;-&amp;nbsp;&amp;nbsp;&amp;nbsp; A&amp;ntilde;adir la capacidad de desplazarse entre las diferentes capas, en funci&amp;oacute;n de las necesidades de comida y de relacionarse.&lt;br /&gt;-&amp;nbsp;&amp;nbsp;&amp;nbsp; A&amp;ntilde;adir la capacidad de realizar Drag &amp;amp; Drop de los inetiandos de la capa superior. Tu puedes ayudar a la comunidad!! Solamente tienes que arrastrar y soltar un inetiano cerca de comida, o bien otro inetiano de sexo diferente!&lt;br /&gt;-&amp;nbsp;&amp;nbsp;&amp;nbsp; A&amp;ntilde;adir funcionalidad a sus ojos&amp;hellip; as&amp;iacute; podr&amp;aacute;n mirar a su objetivo, siendo este comida, inetiano/a&amp;nbsp; con el que se hayan encari&amp;ntilde;ado..&lt;br /&gt;-&amp;nbsp;&amp;nbsp;&amp;nbsp; A&amp;ntilde;adir que sean conscientes del cursor, ese gran ente que siempre estar&amp;aacute; por encima de ellos.. si este est&amp;aacute; cerca suyo, hacer que lo miren con miedo (o no).&lt;br /&gt;-&amp;nbsp;&amp;nbsp;&amp;nbsp; A&amp;ntilde;adirles animaciones para los cambios de estado, acciones commo comer, ligar, moverse, moverse entre capas, ser arrastrados, etc..&lt;br /&gt;En breve lo publicar&amp;eacute; como un proyecto de Codeplex y a&amp;ntilde;adir&amp;eacute; a cualquiera que piense que este &amp;ldquo;fondo vivo&amp;rdquo; es una idea chula y estar&amp;eacute; muy contento de tener alguna ayuda con esto.&lt;br /&gt;En cualquier caso, si crees que la idea es original, estar&amp;eacute; muy contento de tener un comentario en &lt;a target="_blank" href="http://2009.visitmix.com/MIXtify/TenKDisplay.aspx?SubmissionID=0138"&gt;http://2009.visitmix.com/MIXtify/TenKDisplay.aspx?SubmissionID=0138&lt;/a&gt; y, si quieres votar por mi entrada, podr&amp;iacute;a acabar obteniendo el premio comunitario, que por cierto, lo voy a dar integro a la comunidad, a trav&amp;eacute;s de&amp;nbsp; INETA Europa, decisi&amp;oacute;n que he tomado por mi vinculaci&amp;oacute;n con INETA y sabiendo que esta tambien muy afectada por la crisis actual. ;)&lt;/p&gt;
&lt;p&gt;Agradecere vuestros comentarios y votos!! :)&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;Gracias,&lt;br /&gt;&amp;nbsp;Jos&amp;eacute; Luis&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://geeks.ms/aggbug.aspx?PostID=142555" width="1" height="1"&gt;</description><category domain="http://geeks.ms/blogs/jllatorre/archive/tags/comunidad/default.aspx">comunidad</category><category domain="http://geeks.ms/blogs/jllatorre/archive/tags/concurso/default.aspx">concurso</category><category domain="http://geeks.ms/blogs/jllatorre/archive/tags/ineta+europa/default.aspx">ineta europa</category><category domain="http://geeks.ms/blogs/jllatorre/archive/tags/silverlight/default.aspx">silverlight</category><category domain="http://geeks.ms/blogs/jllatorre/archive/tags/ineta/default.aspx">ineta</category><category domain="http://geeks.ms/blogs/jllatorre/archive/tags/europa/default.aspx">europa</category></item><item><title>MVP! :)</title><link>http://geeks.ms/blogs/jllatorre/archive/2009/02/05/mvp.aspx</link><pubDate>Thu, 05 Feb 2009 11:09:00 GMT</pubDate><guid isPermaLink="false">2a2e7ade-7474-448b-9de5-1515d8bb7d1b:142028</guid><dc:creator>Jose Luis Latorre</dc:creator><slash:comments>20</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://geeks.ms/blogs/jllatorre/rsscomments.aspx?PostID=142028</wfw:commentRss><wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://geeks.ms/blogs/jllatorre/commentapi.aspx?PostID=142028</wfw:comment><comments>http://geeks.ms/blogs/jllatorre/archive/2009/02/05/mvp.aspx#comments</comments><description>&lt;p&gt;Como dice el refr&amp;aacute;n, m&amp;aacute;s vale tarde que nunca y quer&amp;iacute;a agradecer enormemente el que se me considere merecedor de tal galard&amp;oacute;n, cosa que me honra enormemente.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/jllatorre/MVPAward2009.jpg"&gt;&lt;img src="http://geeks.ms/resized-image.ashx/__size/550x0/__key/CommunityServer.Blogs.Components.WeblogFiles/jllatorre/MVPAward2009.jpg" border="0" alt="" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Gracias a todos los que me hab&amp;eacute;is apoyado y cre&amp;iacute;do en mi y, m&amp;aacute;s importante, hab&amp;eacute;is sido&amp;nbsp; y sois mis amigos en este trayecto que llevo realizando desde hace ya unos a&amp;ntilde;os, recorriendo el camino del .Net, un trayecto que nunca se acaba y al que se le van a&amp;ntilde;adiendo a&amp;ntilde;o tras a&amp;ntilde;o nuevas estaciones en las que parar y encontrar nuevas emociones, tecnolog&amp;iacute;as, pasiones y amistades, .Net 2.0, .Net 3.0, 3.5, WPF, Silverlight, Azure, Windows 7, &amp;hellip; Desde luego hay mucho camino por recorrer y afortunadamente en este tren estamos todos los que me le&amp;eacute;is y muchos m&amp;aacute;s que no tienen tiempo para ello. &lt;/p&gt;
&lt;p&gt;&lt;br /&gt;Gracias a todos!!&lt;br /&gt;Jos&amp;eacute; Luis&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://geeks.ms/aggbug.aspx?PostID=142028" width="1" height="1"&gt;</description><category domain="http://geeks.ms/blogs/jllatorre/archive/tags/.net/default.aspx">.net</category><category domain="http://geeks.ms/blogs/jllatorre/archive/tags/mvp/default.aspx">mvp</category><category domain="http://geeks.ms/blogs/jllatorre/archive/tags/WPF/default.aspx">WPF</category><category domain="http://geeks.ms/blogs/jllatorre/archive/tags/comunidad/default.aspx">comunidad</category><category domain="http://geeks.ms/blogs/jllatorre/archive/tags/silverlight/default.aspx">silverlight</category><category domain="http://geeks.ms/blogs/jllatorre/archive/tags/microsoft/default.aspx">microsoft</category><category domain="http://geeks.ms/blogs/jllatorre/archive/tags/amigos/default.aspx">amigos</category></item><item><title>We are not alone / No estamos solos (Silverlight)</title><link>http://geeks.ms/blogs/jllatorre/archive/2008/08/07/we-are-not-alone-no-estamos-solos-silverlight.aspx</link><pubDate>Thu, 07 Aug 2008 07:21:00 GMT</pubDate><guid isPermaLink="false">2a2e7ade-7474-448b-9de5-1515d8bb7d1b:94056</guid><dc:creator>Jose Luis Latorre</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://geeks.ms/blogs/jllatorre/rsscomments.aspx?PostID=94056</wfw:commentRss><wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://geeks.ms/blogs/jllatorre/commentapi.aspx?PostID=94056</wfw:comment><comments>http://geeks.ms/blogs/jllatorre/archive/2008/08/07/we-are-not-alone-no-estamos-solos-silverlight.aspx#comments</comments><description>&lt;p&gt;Para aquellos que no podemos dejar de pensar o teclear en Silverlight, nuestros amigos de Microsoft han realizado en Channel 10 un video más que interesante de ver...&lt;/p&gt;
&lt;p&gt;Os dejo el video a continuación :)&lt;/p&gt;
&lt;p&gt;&lt;iframe src="http://on10.net/blogs/tina/21760/player/" frameborder="0" width="320" scrolling="no" height="325" mce_src="http://on10.net/blogs/tina/21760/player/"&gt;&lt;/iframe&gt;&lt;br /&gt;&lt;a href="http://on10.net/blogs/tina/Silverlight-Rehab/"&gt;Silverlight Rehab - You&amp;#39;re not alone&lt;/a&gt;&lt;br /&gt;&lt;/p&gt;
Crossposting desde bcngeeks&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://geeks.ms/aggbug.aspx?PostID=94056" width="1" height="1"&gt;</description><category domain="http://geeks.ms/blogs/jllatorre/archive/tags/silverlight/default.aspx">silverlight</category></item><item><title>Un Viewbox para Silverlight</title><link>http://geeks.ms/blogs/jllatorre/archive/2008/04/30/un-viewbox-para-silverlight.aspx</link><pubDate>Wed, 30 Apr 2008 08:00:00 GMT</pubDate><guid isPermaLink="false">2a2e7ade-7474-448b-9de5-1515d8bb7d1b:84589</guid><dc:creator>Jose Luis Latorre</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://geeks.ms/blogs/jllatorre/rsscomments.aspx?PostID=84589</wfw:commentRss><wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://geeks.ms/blogs/jllatorre/commentapi.aspx?PostID=84589</wfw:comment><comments>http://geeks.ms/blogs/jllatorre/archive/2008/04/30/un-viewbox-para-silverlight.aspx#comments</comments><description>&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p class="MsoNormal"&gt;En el pasado MVP Summit, al que tuve el honor de asistir
como MVP en ASP.Net (aunque curiosamente las charlas en que he realizado han
sido en su mayoría de WPF y Silverlight) comenté de la necesidad de tener el
control Viewbox (de WPF) en Silverlight 2.0… tonto de mí no me percaté de que
podría realizarlo yo mismo de una forma bastante fácil, ya que no es difícil el
crear controles de usuario o clases derivadas en esta nueva versión.
Afortunadamente Mi compañero de silla en esta sesión y uno de los mayores
expertos en WPF y Silverlight, Miguel Jimenez me dijo “y por que no te lo haces
tu mismo?” y bueno, tenía toda la razón así que aquí está… al menos una versión
preliminar&lt;span&gt;&amp;nbsp; &lt;/span&gt;que más o menos hace el trabajo
que necesito que haga &lt;span style="font-family:Wingdings;"&gt;&lt;span&gt;;)&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class="MsoNormal"&gt;Básicamente heredé del panel de Canvas (primero intenté
heredar de la clase panel, pero me dí cuenta de que sería más fácil haciendo un
subclassing de la clase Canvas). Luego quería escalar los contenidos&lt;span&gt;&amp;nbsp; &lt;/span&gt;cuando su espacio asignado (ancho y alto)
creciese o decreciese.&lt;span&gt;&amp;nbsp; &lt;/span&gt;Añadí
dinámicamente, en el constructor de la clase, un ScaleTransform y un
TranslateTransform, agregué estos a un TransformGroup y finalmente acabo
asignando este TransformGroup a la propiedad &lt;span&gt;&amp;nbsp;&lt;/span&gt;RenderTransform de la clase (propiedad
heredada de la clase Canvas). Esto queda más o menos así:&lt;/p&gt;

&lt;p class="MsoNormal" style="margin-bottom:0.0001pt;line-height:normal;"&gt;&lt;span style="background:white none repeat scroll 0% 50%;font-size:8pt;font-family:Consolas;color:green;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;//Initialization&lt;/span&gt;&lt;/p&gt;

&lt;p class="MsoNormal" style="margin-bottom:0.0001pt;line-height:normal;"&gt;&lt;span style="background:white none repeat scroll 0% 50%;font-size:8pt;font-family:Consolas;color:blue;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;this&lt;/span&gt;&lt;span style="background:white none repeat scroll 0% 50%;font-size:8pt;font-family:Consolas;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;.ST_scale = &lt;span style="color:blue;"&gt;new&lt;/span&gt;&lt;b&gt; &lt;/b&gt;&lt;span&gt;ScaleTransform&lt;/span&gt;&lt;b&gt;();&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class="MsoNormal" style="margin-bottom:0.0001pt;line-height:normal;"&gt;&lt;span style="background:white none repeat scroll 0% 50%;font-size:8pt;font-family:Consolas;color:blue;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;this&lt;/span&gt;&lt;span style="background:white none repeat scroll 0% 50%;font-size:8pt;font-family:Consolas;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;.TF_offset = &lt;span style="color:blue;"&gt;new&lt;/span&gt;&lt;b&gt; &lt;/b&gt;&lt;span&gt;TranslateTransform&lt;/span&gt;&lt;b&gt;();&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class="MsoNormal" style="margin-bottom:0.0001pt;line-height:normal;"&gt;&lt;span style="background:white none repeat scroll 0% 50%;font-size:8pt;font-family:Consolas;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;

&lt;p class="MsoNormal" style="margin-bottom:0.0001pt;line-height:normal;"&gt;&lt;span style="background:white none repeat scroll 0% 50%;font-size:8pt;font-family:Consolas;color:green;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;//We add a transform with the Scale and Translate
Transforms...&lt;/span&gt;&lt;/p&gt;

&lt;p class="MsoNormal" style="margin-bottom:0.0001pt;line-height:normal;"&gt;&lt;span style="background:white none repeat scroll 0% 50%;font-size:8pt;font-family:Consolas;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;TransformGroup&lt;/span&gt;&lt;b&gt;&lt;span style="background:white none repeat scroll 0% 50%;font-size:8pt;font-family:Consolas;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;
tg_transformViewbox = &lt;/span&gt;&lt;/b&gt;&lt;span style="background:white none repeat scroll 0% 50%;font-size:8pt;font-family:Consolas;color:blue;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;new&lt;/span&gt;&lt;b&gt;&lt;span style="background:white none repeat scroll 0% 50%;font-size:8pt;font-family:Consolas;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt; &lt;/span&gt;&lt;/b&gt;&lt;span style="background:white none repeat scroll 0% 50%;font-size:8pt;font-family:Consolas;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;TransformGroup&lt;/span&gt;&lt;b&gt;&lt;span style="background:white none repeat scroll 0% 50%;font-size:8pt;font-family:Consolas;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;();&lt;/span&gt;&lt;/b&gt;&lt;span style="background:white none repeat scroll 0% 50%;font-size:8pt;font-family:Consolas;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class="MsoNormal" style="margin-bottom:0.0001pt;line-height:normal;"&gt;&lt;span style="background:white none repeat scroll 0% 50%;font-size:8pt;font-family:Consolas;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;tg_transformViewbox.Children.Add(&lt;span style="color:blue;"&gt;this&lt;/span&gt;.ST_scale);&lt;/span&gt;&lt;/p&gt;

&lt;p class="MsoNormal" style="margin-bottom:0.0001pt;line-height:normal;"&gt;&lt;span style="background:white none repeat scroll 0% 50%;font-size:8pt;font-family:Consolas;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;tg_transformViewbox.Children.Add(&lt;span style="color:blue;"&gt;this&lt;/span&gt;.TF_offset);&lt;/span&gt;&lt;/p&gt;

&lt;p class="MsoNormal" style="margin-bottom:0.0001pt;line-height:normal;"&gt;&lt;span style="background:white none repeat scroll 0% 50%;font-size:8pt;font-family:Consolas;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;

&lt;p class="MsoNormal" style="margin-bottom:0.0001pt;line-height:normal;"&gt;&lt;span style="background:white none repeat scroll 0% 50%;font-size:8pt;font-family:Consolas;color:green;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;//We add this Transform to the ViewBox (Subclassed from the
Canvas class)&lt;/span&gt;&lt;/p&gt;

&lt;p class="MsoNormal"&gt;&lt;span style="background:white none repeat scroll 0% 50%;font-size:8pt;line-height:115%;font-family:Consolas;color:blue;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;this&lt;/span&gt;&lt;span style="background:white none repeat scroll 0% 50%;font-size:8pt;line-height:115%;font-family:Consolas;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;.RenderTransform =
tg_transformViewbox;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class="MsoNormal"&gt;Luego, lo único que quedaba era implementar un override para
la función &lt;span style="background:white none repeat scroll 0% 50%;font-size:8pt;line-height:115%;font-family:Consolas;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;ArrangeOverride&lt;/span&gt; (más información sobre esto aquí: &lt;span&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/system.windows.frameworkelement.arrangeoverride%28VS.95%29.aspx"&gt;&lt;span&gt;http://msdn.microsoft.com/en-us/library/system.windows.frameworkelement.arrangeoverride(VS.95).aspx&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;
). En esta función determine el ratio de escalado obteniendo el ratio mínimo de
los ejes X e Y, en base al tamaño original y el deseado. También ajusto el
offset para los ejes X e Y, para ajustar el posicionamiento del layout en el
eje que no sea el mínimo, para centrarlo. &lt;/p&gt;

&lt;p class="MsoNormal" style="margin-bottom:0.0001pt;line-height:normal;"&gt;&lt;b&gt;&lt;span style="background:white none repeat scroll 0% 50%;font-size:8pt;font-family:Consolas;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;span style="background:white none repeat scroll 0% 50%;font-size:8pt;font-family:Consolas;color:blue;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;protected&lt;/span&gt;&lt;b&gt;&lt;span style="background:white none repeat scroll 0% 50%;font-size:8pt;font-family:Consolas;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt; &lt;/span&gt;&lt;/b&gt;&lt;span style="background:white none repeat scroll 0% 50%;font-size:8pt;font-family:Consolas;color:blue;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;override&lt;/span&gt;&lt;b&gt;&lt;span style="background:white none repeat scroll 0% 50%;font-size:8pt;font-family:Consolas;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt; &lt;/span&gt;&lt;/b&gt;&lt;span style="background:white none repeat scroll 0% 50%;font-size:8pt;font-family:Consolas;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;Size&lt;/span&gt;&lt;b&gt;&lt;span style="background:white none repeat scroll 0% 50%;font-size:8pt;font-family:Consolas;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;
ArrangeOverride(&lt;/span&gt;&lt;/b&gt;&lt;span style="background:white none repeat scroll 0% 50%;font-size:8pt;font-family:Consolas;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;Size&lt;/span&gt;&lt;b&gt;&lt;span style="background:white none repeat scroll 0% 50%;font-size:8pt;font-family:Consolas;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt; finalSize)&lt;/span&gt;&lt;/b&gt;&lt;span style="background:white none repeat scroll 0% 50%;font-size:8pt;font-family:Consolas;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class="MsoNormal" style="margin-bottom:0.0001pt;line-height:normal;"&gt;&lt;b&gt;&lt;span style="background:white none repeat scroll 0% 50%;font-size:8pt;font-family:Consolas;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;{&lt;/span&gt;&lt;/b&gt;&lt;span style="background:white none repeat scroll 0% 50%;font-size:8pt;font-family:Consolas;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class="MsoNormal" style="margin-bottom:0.0001pt;line-height:normal;"&gt;&lt;b&gt;&lt;span style="background:white none repeat scroll 0% 50%;font-size:8pt;font-family:Consolas;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;span style="background:white none repeat scroll 0% 50%;font-size:8pt;font-family:Consolas;color:green;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;//We scale the contents based on the desired size width and
height.&lt;/span&gt;&lt;/p&gt;

&lt;p class="MsoNormal" style="margin-bottom:0.0001pt;line-height:normal;"&gt;&lt;b&gt;&lt;span style="background:white none repeat scroll 0% 50%;font-size:8pt;font-family:Consolas;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;span style="background:white none repeat scroll 0% 50%;font-size:8pt;font-family:Consolas;color:blue;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;double&lt;/span&gt;&lt;b&gt;&lt;span style="background:white none repeat scroll 0% 50%;font-size:8pt;font-family:Consolas;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt; scaleX =
finalSize.Width / &lt;/span&gt;&lt;/b&gt;&lt;span style="background:white none repeat scroll 0% 50%;font-size:8pt;font-family:Consolas;color:blue;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;this&lt;/span&gt;&lt;span style="background:white none repeat scroll 0% 50%;font-size:8pt;font-family:Consolas;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;.DesiredSize.Width; &lt;/span&gt;&lt;/p&gt;

&lt;p class="MsoNormal" style="margin-bottom:0.0001pt;line-height:normal;"&gt;&lt;b&gt;&lt;span style="background:white none repeat scroll 0% 50%;font-size:8pt;font-family:Consolas;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;span style="background:white none repeat scroll 0% 50%;font-size:8pt;font-family:Consolas;color:blue;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;double&lt;/span&gt;&lt;b&gt;&lt;span style="background:white none repeat scroll 0% 50%;font-size:8pt;font-family:Consolas;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt; scaleY =
finalSize.Height / &lt;/span&gt;&lt;/b&gt;&lt;span style="background:white none repeat scroll 0% 50%;font-size:8pt;font-family:Consolas;color:blue;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;this&lt;/span&gt;&lt;span style="background:white none repeat scroll 0% 50%;font-size:8pt;font-family:Consolas;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;.DesiredSize.Height; &lt;/span&gt;&lt;/p&gt;

&lt;p class="MsoNormal" style="margin-bottom:0.0001pt;line-height:normal;"&gt;&lt;span style="background:white none repeat scroll 0% 50%;font-size:8pt;font-family:Consolas;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;b&gt;&lt;span style="background:white none repeat scroll 0% 50%;font-size:8pt;font-family:Consolas;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;span style="background:white none repeat scroll 0% 50%;font-size:8pt;font-family:Consolas;color:green;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;//By default we only allow an &amp;quot;uniform&amp;quot; Stretch
attribute option.. we could add the attribute and held the logic in this
function.&lt;/span&gt;

&lt;p class="MsoNormal" style="margin-bottom:0.0001pt;line-height:normal;"&gt;&lt;b&gt;&lt;span style="background:white none repeat scroll 0% 50%;font-size:8pt;font-family:Consolas;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;span style="background:white none repeat scroll 0% 50%;font-size:8pt;font-family:Consolas;color:green;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;// See:
http://msdn2.microsoft.com/en-us/library/system.windows.media.stretch.aspx and
http://msdn2.microsoft.com/en-us/library/system.windows.controls.viewbox.stretch.aspx&lt;/span&gt;&lt;/p&gt;

&lt;p class="MsoNormal" style="margin-bottom:0.0001pt;line-height:normal;"&gt;&lt;b&gt;&lt;span style="background:white none repeat scroll 0% 50%;font-size:8pt;font-family:Consolas;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;span style="background:white none repeat scroll 0% 50%;font-size:8pt;font-family:Consolas;color:green;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;// To do this more seriously, we should also add the
StretchDirection and Stretch properties too. &lt;/span&gt;&lt;/p&gt;

&lt;p class="MsoNormal" style="margin-bottom:0.0001pt;line-height:normal;"&gt;&lt;b&gt;&lt;span style="background:white none repeat scroll 0% 50%;font-size:8pt;font-family:Consolas;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;span style="background:white none repeat scroll 0% 50%;font-size:8pt;font-family:Consolas;color:blue;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;if&lt;/span&gt;&lt;b&gt;&lt;span style="background:white none repeat scroll 0% 50%;font-size:8pt;font-family:Consolas;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt; (scaleX &amp;gt;
scaleY)&lt;/span&gt;&lt;/b&gt;&lt;span style="background:white none repeat scroll 0% 50%;font-size:8pt;font-family:Consolas;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class="MsoNormal" style="margin-bottom:0.0001pt;line-height:normal;"&gt;&lt;b&gt;&lt;span style="background:white none repeat scroll 0% 50%;font-size:8pt;font-family:Consolas;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;{&lt;/span&gt;&lt;/b&gt;&lt;span style="background:white none repeat scroll 0% 50%;font-size:8pt;font-family:Consolas;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class="MsoNormal" style="margin-bottom:0.0001pt;line-height:normal;"&gt;&lt;b&gt;&lt;span style="background:white none repeat scroll 0% 50%;font-size:8pt;font-family:Consolas;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;span style="background:white none repeat scroll 0% 50%;font-size:8pt;font-family:Consolas;color:green;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;//Lowest scale ratio wins (Y axis is lower)&lt;/span&gt;&lt;/p&gt;

&lt;p class="MsoNormal" style="margin-bottom:0.0001pt;line-height:normal;"&gt;&lt;b&gt;&lt;span style="background:white none repeat scroll 0% 50%;font-size:8pt;font-family:Consolas;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;span style="background:white none repeat scroll 0% 50%;font-size:8pt;font-family:Consolas;color:blue;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;this&lt;/span&gt;&lt;span style="background:white none repeat scroll 0% 50%;font-size:8pt;font-family:Consolas;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;.ST_scale.ScaleX
= scaleY;&lt;/span&gt;&lt;/p&gt;

&lt;p class="MsoNormal" style="margin-bottom:0.0001pt;line-height:normal;"&gt;&lt;b&gt;&lt;span style="background:white none repeat scroll 0% 50%;font-size:8pt;font-family:Consolas;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;span style="background:white none repeat scroll 0% 50%;font-size:8pt;font-family:Consolas;color:blue;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;this&lt;/span&gt;&lt;span style="background:white none repeat scroll 0% 50%;font-size:8pt;font-family:Consolas;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;.ST_scale.ScaleY
= scaleY;&lt;/span&gt;&lt;/p&gt;

&lt;p class="MsoNormal" style="margin-bottom:0.0001pt;line-height:normal;"&gt;&lt;span style="background:white none repeat scroll 0% 50%;font-size:8pt;font-family:Consolas;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;

&lt;p class="MsoNormal" style="margin-bottom:0.0001pt;line-height:normal;"&gt;&lt;b&gt;&lt;span style="background:white none repeat scroll 0% 50%;font-size:8pt;font-family:Consolas;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;span style="background:white none repeat scroll 0% 50%;font-size:8pt;font-family:Consolas;color:blue;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;this&lt;/span&gt;&lt;span style="background:white none repeat scroll 0% 50%;font-size:8pt;font-family:Consolas;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;.TF_offset.X =
(finalSize.Width - &lt;span style="color:blue;"&gt;this&lt;/span&gt;.DesiredSize.Width *
scaleY) / 2;&lt;/span&gt;&lt;/p&gt;

&lt;p class="MsoNormal" style="margin-bottom:0.0001pt;line-height:normal;"&gt;&lt;b&gt;&lt;span style="background:white none repeat scroll 0% 50%;font-size:8pt;font-family:Consolas;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;span style="background:white none repeat scroll 0% 50%;font-size:8pt;font-family:Consolas;color:blue;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;this&lt;/span&gt;&lt;span style="background:white none repeat scroll 0% 50%;font-size:8pt;font-family:Consolas;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;.TF_offset.Y = 0;&lt;/span&gt;&lt;/p&gt;

&lt;p class="MsoNormal" style="margin-bottom:0.0001pt;line-height:normal;"&gt;&lt;b&gt;&lt;span style="background:white none repeat scroll 0% 50%;font-size:8pt;font-family:Consolas;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;}&lt;/span&gt;&lt;/b&gt;&lt;span style="background:white none repeat scroll 0% 50%;font-size:8pt;font-family:Consolas;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class="MsoNormal" style="margin-bottom:0.0001pt;line-height:normal;"&gt;&lt;b&gt;&lt;span style="background:white none repeat scroll 0% 50%;font-size:8pt;font-family:Consolas;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;span style="background:white none repeat scroll 0% 50%;font-size:8pt;font-family:Consolas;color:blue;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;else&lt;/span&gt;&lt;/p&gt;

&lt;p class="MsoNormal" style="margin-bottom:0.0001pt;line-height:normal;"&gt;&lt;b&gt;&lt;span style="background:white none repeat scroll 0% 50%;font-size:8pt;font-family:Consolas;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;{&lt;/span&gt;&lt;/b&gt;&lt;span style="background:white none repeat scroll 0% 50%;font-size:8pt;font-family:Consolas;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class="MsoNormal" style="margin-bottom:0.0001pt;line-height:normal;"&gt;&lt;b&gt;&lt;span style="background:white none repeat scroll 0% 50%;font-size:8pt;font-family:Consolas;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;span style="background:white none repeat scroll 0% 50%;font-size:8pt;font-family:Consolas;color:green;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;//Lowest scale ratio wins (X axis is lower)&lt;/span&gt;&lt;/p&gt;

&lt;p class="MsoNormal" style="margin-bottom:0.0001pt;line-height:normal;"&gt;&lt;b&gt;&lt;span style="background:white none repeat scroll 0% 50%;font-size:8pt;font-family:Consolas;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;span style="background:white none repeat scroll 0% 50%;font-size:8pt;font-family:Consolas;color:blue;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;this&lt;/span&gt;&lt;span style="background:white none repeat scroll 0% 50%;font-size:8pt;font-family:Consolas;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;.ST_scale.ScaleX
= scaleX;&lt;/span&gt;&lt;/p&gt;

&lt;p class="MsoNormal" style="margin-bottom:0.0001pt;line-height:normal;"&gt;&lt;b&gt;&lt;span style="background:white none repeat scroll 0% 50%;font-size:8pt;font-family:Consolas;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;span style="background:white none repeat scroll 0% 50%;font-size:8pt;font-family:Consolas;color:blue;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;this&lt;/span&gt;&lt;span style="background:white none repeat scroll 0% 50%;font-size:8pt;font-family:Consolas;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;.ST_scale.ScaleY
= scaleX;&lt;/span&gt;&lt;/p&gt;

&lt;p class="MsoNormal" style="margin-bottom:0.0001pt;line-height:normal;"&gt;&lt;b&gt;&lt;span style="background:white none repeat scroll 0% 50%;font-size:8pt;font-family:Consolas;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;span style="background:white none repeat scroll 0% 50%;font-size:8pt;font-family:Consolas;color:blue;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;this&lt;/span&gt;&lt;span style="background:white none repeat scroll 0% 50%;font-size:8pt;font-family:Consolas;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;.TF_offset.Y =
(finalSize.Height - &lt;span style="color:blue;"&gt;this&lt;/span&gt;.DesiredSize.Height *
scaleX) / 2;&lt;/span&gt;&lt;/p&gt;

&lt;p class="MsoNormal" style="margin-bottom:0.0001pt;line-height:normal;"&gt;&lt;b&gt;&lt;span style="background:white none repeat scroll 0% 50%;font-size:8pt;font-family:Consolas;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;span style="background:white none repeat scroll 0% 50%;font-size:8pt;font-family:Consolas;color:blue;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;this&lt;/span&gt;&lt;span style="background:white none repeat scroll 0% 50%;font-size:8pt;font-family:Consolas;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;.TF_offset.X = 0;&lt;/span&gt;&lt;/p&gt;

&lt;p class="MsoNormal" style="margin-bottom:0.0001pt;line-height:normal;"&gt;&lt;b&gt;&lt;span style="background:white none repeat scroll 0% 50%;font-size:8pt;font-family:Consolas;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;}&lt;/span&gt;&lt;/b&gt;&lt;span style="background:white none repeat scroll 0% 50%;font-size:8pt;font-family:Consolas;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class="MsoNormal" style="margin-bottom:0.0001pt;line-height:normal;"&gt;&lt;span style="background:white none repeat scroll 0% 50%;font-size:8pt;font-family:Consolas;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;

&lt;p class="MsoNormal" style="margin-bottom:0.0001pt;line-height:normal;"&gt;&lt;b&gt;&lt;span style="background:white none repeat scroll 0% 50%;font-size:8pt;font-family:Consolas;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;span style="background:white none repeat scroll 0% 50%;font-size:8pt;font-family:Consolas;color:blue;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;return&lt;/span&gt;&lt;b&gt;&lt;span style="background:white none repeat scroll 0% 50%;font-size:8pt;font-family:Consolas;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt; &lt;/span&gt;&lt;/b&gt;&lt;span style="background:white none repeat scroll 0% 50%;font-size:8pt;font-family:Consolas;color:blue;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;base&lt;/span&gt;&lt;span style="background:white none repeat scroll 0% 50%;font-size:8pt;font-family:Consolas;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;.ArrangeOverride(finalSize);&lt;/span&gt;&lt;/p&gt;

&lt;p class="MsoNormal"&gt;&lt;b&gt;&lt;span style="background:white none repeat scroll 0% 50%;font-size:8pt;line-height:115%;font-family:Consolas;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;b&gt;&lt;span style="background:white none repeat scroll 0% 50%;font-size:8pt;line-height:115%;font-family:Consolas;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;}&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;

&lt;p class="MsoNormal"&gt;Y esto es todo lo que hay… No necesité sobrecargar la
función MeasureOverride (ver &lt;span&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/system.windows.frameworkelement.measureoverride%28VS.95%29.aspx%29"&gt;&lt;span&gt;http://msdn.microsoft.com/en-us/library/system.windows.frameworkelement.measureoverride(VS.95).aspx)&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;.
Por otro lado si queréis investigar algo más sobre la creación de paneles
personalizados en Silverlight 2.0, aquí hay un par de enlaces a tener en
cuenta:&lt;/p&gt;

&lt;ul&gt;&lt;li&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;a href="http://blogs.msdn.com/silverlight_sdk/archive/2008/04/03/creating-a-custom-panel.aspx"&gt;&lt;span&gt;http://blogs.msdn.com/silverlight_sdk/archive/2008/04/03/creating-a-custom-panel.aspx&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&lt;a href="http://www.codeproject.com/KB/silverlight/WrapPanelSilverlight.aspx"&gt;&lt;span&gt;http://www.codeproject.com/KB/silverlight/WrapPanelSilverlight.aspx&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;



&lt;p class="MsoNormal"&gt;&amp;nbsp;&lt;/p&gt;

&lt;p class="MsoNormal"&gt;El código está subido aquí: &lt;a href="http://silverlightguy.files.wordpress.com/2008/04/viewboxzip.doc" title="code download - change .doc to .zip" target="_blank"&gt;&amp;lt;&amp;lt;&amp;lt;Viewbox.zip&amp;gt;&amp;gt;&amp;gt;&lt;/a&gt; pero
tiene un pequeño problema del que me di cuenta después… (ahora lo comento) &lt;/p&gt;

&lt;p class="MsoNormal"&gt;Como nota, el código está licenciado bajo MS-PL&lt;span&gt;&amp;nbsp; &lt;/span&gt;&lt;span style="font-family:Wingdings;"&gt;&lt;span&gt;J&lt;/span&gt;&lt;/span&gt;
(&lt;span&gt;&lt;a href="http://www.microsoft.com/resources/sharedsource/licensingbasics/publiclicense.mspx"&gt;&lt;span&gt;http://www.microsoft.com/resources/sharedsource/licensingbasics/publiclicense.mspx&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;).&lt;/p&gt;

&lt;p class="MsoNormal"&gt;El problema al que me refiero es que el Viewbox “original” al
que me refiero solamente permite un único control y este que he desarrollado es
un Canvas extendido, con lo que permite multiples controles posicionados
juntos, así que los resécala todos siguiendo el layout, que es obviamente
respetado. &lt;span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class="MsoNormal"&gt;En cualquier caso, este es el comportamiento que quería
obtener, aunque no sigue el comportamiento del Viewbox, por lo que no está bien…
Para que un Viewbox de WPF hiciese esto, debería incrustarle un Canvas dentro
de el y luego posicionar los controles dentro de este Canvas..&lt;/p&gt;

&lt;p class="MsoNormal"&gt;&amp;nbsp;&lt;/p&gt;

&lt;p class="MsoNormal"&gt;Bueno, espero que sea de utilidad…&amp;nbsp;&lt;span style="font-family:Wingdings;"&gt;&lt;span&gt;[;)]&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p&gt;&amp;nbsp;&lt;/p&gt;
Crossposting desde bcngeeks&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://geeks.ms/aggbug.aspx?PostID=84589" width="1" height="1"&gt;</description><category domain="http://geeks.ms/blogs/jllatorre/archive/tags/WPF/default.aspx">WPF</category><category domain="http://geeks.ms/blogs/jllatorre/archive/tags/silverlight/default.aspx">silverlight</category><category domain="http://geeks.ms/blogs/jllatorre/archive/tags/2.0/default.aspx">2.0</category><category domain="http://geeks.ms/blogs/jllatorre/archive/tags/layout/default.aspx">layout</category><category domain="http://geeks.ms/blogs/jllatorre/archive/tags/viewbox/default.aspx">viewbox</category><category domain="http://geeks.ms/blogs/jllatorre/archive/tags/canvas/default.aspx">canvas</category><category domain="http://geeks.ms/blogs/jllatorre/archive/tags/panel/default.aspx">panel</category><category domain="http://geeks.ms/blogs/jllatorre/archive/tags/usercontrol/default.aspx">usercontrol</category></item><item><title>Silverlight 2.0 (beta), problemas de retrocompatibilidad con Silverlight 1.0</title><link>http://geeks.ms/blogs/jllatorre/archive/2008/03/31/silverlight-2-0-beta-problemas-de-retrocompatibilidad-con-silverlight-1-0.aspx</link><pubDate>Mon, 31 Mar 2008 06:10:00 GMT</pubDate><guid isPermaLink="false">2a2e7ade-7474-448b-9de5-1515d8bb7d1b:82009</guid><dc:creator>Jose Luis Latorre</dc:creator><slash:comments>3</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://geeks.ms/blogs/jllatorre/rsscomments.aspx?PostID=82009</wfw:commentRss><wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://geeks.ms/blogs/jllatorre/commentapi.aspx?PostID=82009</wfw:comment><comments>http://geeks.ms/blogs/jllatorre/archive/2008/03/31/silverlight-2-0-beta-problemas-de-retrocompatibilidad-con-silverlight-1-0.aspx#comments</comments><description>&lt;p class="MsoNormal"&gt;Recientemente, haciendo algunas modificaciones a un proyecto Silverlight 1.0 al instalar el plug-in de la 2.0 Beta me di cuenta de que la propiedad &lt;span&gt;TextWrapping no soportaba (por ahora) el valor WrapWithOverflow…&lt;/span&gt;&lt;/p&gt;


&lt;p class="MsoNormal"&gt;Adjunto el mensaje de error para referencia:&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&amp;nbsp;&lt;img src="http://silverlightguy.wordpress.com/files/2008/03/error1.png" alt="error with TextWrapping&amp;nbsp;property" /&gt;&lt;/p&gt;




&lt;p class="MsoNormal"&gt;&lt;span&gt;Se ve claramente que es un error del plugin, al no poder parsear tal propiedad para el atributo... &lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span&gt;Por otro lado también me he encontrado con &amp;quot;clipping&amp;quot; es decir, que un elemento de interfaz, al salir del canvas, se deje de dibujar o renderizar, ocultándose... &lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span&gt;También he hallado algunos problemas al generar elementos dinámicamente, en lo que he encontrado qeu no se asignaban bién ciertas propiedades, como la posición...&amp;nbsp; &lt;span&gt;En este caso&amp;nbsp; creando varios elementos dinámicamente se renderizaban bién pero no en su sitio asignado...&amp;nbsp;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;Espero que estas cosillas se vayan mejorando y optimizando en la versi´no final ya que la compatiblidad hacia atrás es algo muy importante en esta relativamente nueva tecnología.&lt;/p&gt;&lt;p class="MsoNormal"&gt;Y sí, es una beta, pero por eso mismo quería compartir mis &amp;quot;dos peniques&amp;quot;&lt;br /&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span&gt;En cualquier caso, es una tecnología fantástica y con la que se está haciendo un gran trabajo, si antes estaba muy bien, ahora empieza a parecer algo Grande :)&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;
Crossposting desde bcngeeks&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://geeks.ms/aggbug.aspx?PostID=82009" width="1" height="1"&gt;</description><category domain="http://geeks.ms/blogs/jllatorre/archive/tags/silverlight/default.aspx">silverlight</category><category domain="http://geeks.ms/blogs/jllatorre/archive/tags/1.0/default.aspx">1.0</category><category domain="http://geeks.ms/blogs/jllatorre/archive/tags/Compatibilidad/default.aspx">Compatibilidad</category><category domain="http://geeks.ms/blogs/jllatorre/archive/tags/2.0/default.aspx">2.0</category><category domain="http://geeks.ms/blogs/jllatorre/archive/tags/Backwards/default.aspx">Backwards</category><category domain="http://geeks.ms/blogs/jllatorre/archive/tags/Beta/default.aspx">Beta</category></item><item><title>Sesión Lanzamiento VS2008 : “UX: Silverlight  &amp; WPF”</title><link>http://geeks.ms/blogs/jllatorre/archive/2008/03/26/sesi-243-n-lanzamiento-vs2008-ux-silverlight-amp-wpf.aspx</link><pubDate>Wed, 26 Mar 2008 08:34:00 GMT</pubDate><guid isPermaLink="false">2a2e7ade-7474-448b-9de5-1515d8bb7d1b:81716</guid><dc:creator>Jose Luis Latorre</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://geeks.ms/blogs/jllatorre/rsscomments.aspx?PostID=81716</wfw:commentRss><wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://geeks.ms/blogs/jllatorre/commentapi.aspx?PostID=81716</wfw:comment><comments>http://geeks.ms/blogs/jllatorre/archive/2008/03/26/sesi-243-n-lanzamiento-vs2008-ux-silverlight-amp-wpf.aspx#comments</comments><description>&lt;p&gt;&amp;nbsp;&lt;/p&gt;

&lt;p class="MsoNormal"&gt;El pasado 12 tuve el gran honor de colaborar en el Microsoft
Launch Day realizado en mi Ciudad, Barcelona, evento en el que se me propuso la
oportunidad ¡que atrevidos! de realizar la charla de “UX: Silverlight &amp;amp;
WPF”.&lt;/p&gt;

&lt;p class="MsoNormal"&gt;Que decir antes que nada que ¡gracias!. Es el primer evento
de tal calibre en el que participo, el mayor anteriormente realizado fue el
WebDay, con unas 130 a 160 personas de aforo, que ya parecieron muchas...&lt;/p&gt;&lt;p class="MsoNormal"&gt;&amp;nbsp;&lt;/p&gt;&lt;p class="MsoNormal"&gt;Os adjunto una &amp;quot;instantanea&amp;quot; del evento, junto con David Salgado, con quien tuve los honores de compartir sesión...&amp;nbsp;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&amp;nbsp;&lt;a href="http://bcngeeks.net/sitefiles/1000/Encamisetados.JPG"&gt;&lt;/a&gt;&lt;a href="http://bcngeeks.net/blogs/bcngeek/EncamisetadosSmall.png"&gt;&lt;img src="http://bcngeeks.net/blogs/bcngeek/EncamisetadosSmall.png" border="0" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/p&gt;

&lt;p class="MsoNormal"&gt;En la foto, de izquierda a derecha, David Salgado y un
servidor (a ver si se me pega algo) con la camiseta oficial de la presentación
de UX. Fuera bromas, casualmente coincidimos en llevar la misma camiseta.. &lt;span&gt;&amp;nbsp;&lt;/span&gt;aunque a mí no me queda tan bien ;)&lt;/p&gt;&lt;p class="MsoNormal"&gt;&amp;nbsp;&lt;/p&gt;

&lt;p class="MsoNormal"&gt;En este evento, celebrado el pasado 11 de Marzo se hizo el
lleno total, con cerca de 600 a 700 personas… solo decir que me estuve
preparando la presentación hasta las 5:30 de la mañana para que saliera todo a
pedir de boca… siendo un compromiso tanto personal&lt;span&gt;&amp;nbsp; &lt;/span&gt;(por la amistad y relación que hay con el
excelente equipo de DP de Microsoft Ibérica) así como profesional.. &lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;

&lt;p class="MsoNormal"&gt;&amp;nbsp;&lt;/p&gt;&lt;p class="MsoNormal"&gt;En contra de otros eventos que por el tiempo de gestión y
organización no pude preparármelos debidamente (además de tener a Murphy muy
presente) con este si reserve un tiempo y me lo preparé bien, realizando varias
representaciones de la presentación y demos, puliendo y retocando &lt;span&gt;&amp;nbsp;&lt;/span&gt;cada una de ellas… Si no tienes arte, lo
construyes ;) o como mínimo lo disimulas ;)&lt;/p&gt;

&lt;p class="MsoNormal"&gt;&amp;nbsp;&lt;/p&gt;&lt;p class="MsoNormal"&gt;En cualquier caso fue una experiencia genial que espero
repetir y que creo deje buen sabor de boca ya que me han llegado un par de
e-mails felicitándome por la charla…&lt;span&gt;&amp;nbsp;
&lt;/span&gt;además de las amistades que asistieron y me felicitaron.. (Eso nunca
sabes si lo dicen para quedar bien.. ) En cualquier caso gracias a los que me
felicitaron, es la mejor recompensa que pueda haber. :D&lt;/p&gt;

&lt;p class="MsoNormal"&gt;&amp;nbsp;&lt;/p&gt;&lt;p class="MsoNormal"&gt;Como en muchas cosas, es “la primera vez” que me pasa y es
una gran satisfacción. Os dejo el powerpoint de la presentación &lt;span&gt;&amp;nbsp;&lt;/span&gt;para referencias (que conste que partí de la
presentación original de David Carmona, que realizó la homologa en Madrid, pero
con un aforo algo mayor, cerca de 5.000 personas, creo… La cambié bastante y me
negué a realizar las mismas bromas y anécdotas de David (es imposible imitarle,
de hecho) e hice mía la presentación (con su permiso) a la que añadí un par o
tres de bromas, eso sí, más sencillas ya que cada uno tiene su nivel…&lt;/p&gt;

&lt;p class="MsoNormal"&gt;&amp;nbsp;&lt;/p&gt;&lt;p class="MsoNormal"&gt;Por otro lado, unas cuantas personas ya me han preguntado de
donde pueden bajarse la librería de controles que exhibí en la presentación.
Esta es la Kevin’s Bag of tricks, disponible en la url: &lt;a href="http://work.j832.com/2008/03/bag-o-tricks-march-edition.html"&gt;http://work.j832.com/2008/03/bag-o-tricks-march-edition.html&lt;/a&gt;&lt;/p&gt;

&lt;p class="MsoNormal"&gt;&amp;nbsp;&lt;/p&gt;&lt;p class="MsoNormal"&gt;Casualmente la actualizaron el 12 de marzo, un día después
de la fecha del evento (yo exhibí la versión previa, con lo que fue bien ya que
si no hubiese tenido la tentación de utilizar la última versión&lt;span&gt;&amp;nbsp; &lt;/span&gt;y jugármela en el último momento instalando
algo que te lo puede desmontar todo…). Si no os ha pasado nunca es muy, muy
divertido. (En un sentido irónico-sarcástico, claro).&lt;/p&gt;

&lt;p class="MsoNormal"&gt;&amp;nbsp;&lt;/p&gt;&lt;p class="MsoNormal"&gt;Sobre las demos que realicé seguramente las postearé en
cuando las haya revisado y pulido… por ahora&lt;span&gt;&amp;nbsp;
&lt;/span&gt;no, aunque se basan en ejemplos disponibles por la red, bien de Beatriz
Costa, (&lt;a href="http://www.beacosta.com/blog/"&gt;http://www.beacosta.com/blog/&lt;/a&gt;),
de Ian Griffith (&lt;a href="http://www.interact-sw.co.uk/iangblog/2007/05/17/wpf-flippable-3D-list"&gt;http://www.interact-sw.co.uk/iangblog/2007/05/17/wpf-flippable-3D-list&lt;/a&gt;
) y luego el carrusel de video 3D es un derivado del concepto de The North
Face, ver &lt;a href="http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnlong/html/fluid.asp"&gt;http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnlong/html/fluid.asp&lt;/a&gt;.
&lt;/p&gt;

&lt;p class="MsoNormal"&gt;&amp;nbsp;&lt;/p&gt;&lt;p class="MsoNormal"&gt;Que aprovechen los enlaces y cualquier cosa por aquí me tenéis…&lt;span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class="MsoNormal"&gt;José Luis&lt;/p&gt;
Crossposting desde bcngeeks&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://geeks.ms/aggbug.aspx?PostID=81716" width="1" height="1"&gt;</description><category domain="http://geeks.ms/blogs/jllatorre/archive/tags/WPF/default.aspx">WPF</category><category domain="http://geeks.ms/blogs/jllatorre/archive/tags/bcndev/default.aspx">bcndev</category><category domain="http://geeks.ms/blogs/jllatorre/archive/tags/silverlight/default.aspx">silverlight</category><category domain="http://geeks.ms/blogs/jllatorre/archive/tags/controles/default.aspx">controles</category><category domain="http://geeks.ms/blogs/jllatorre/archive/tags/presentacion/default.aspx">presentacion</category><category domain="http://geeks.ms/blogs/jllatorre/archive/tags/ux/default.aspx">ux</category></item><item><title>Silverlight para iphone? La posibilidad está abierta…</title><link>http://geeks.ms/blogs/jllatorre/archive/2008/03/14/silverlight-para-iphone-la-posibilidad-est-225-abierta.aspx</link><pubDate>Fri, 14 Mar 2008 06:43:00 GMT</pubDate><guid isPermaLink="false">2a2e7ade-7474-448b-9de5-1515d8bb7d1b:80928</guid><dc:creator>Jose Luis Latorre</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://geeks.ms/blogs/jllatorre/rsscomments.aspx?PostID=80928</wfw:commentRss><wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://geeks.ms/blogs/jllatorre/commentapi.aspx?PostID=80928</wfw:comment><comments>http://geeks.ms/blogs/jllatorre/archive/2008/03/14/silverlight-para-iphone-la-posibilidad-est-225-abierta.aspx#comments</comments><description>&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;line-height:115%;font-family:&amp;#39;Arial&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;Desde el discurso de Ballmer en el MIX, en el que
mencionó que era una interesante posibilidad… y que estaban dialogando sobre
ello con el CEO de Apple, Steve Jobs junto con el reciente comentario público de
Apple, en el que Jobs comenta que “Flash es excesivamente lento como para ser
útil” en el iPhone y su versión móvil, Flash Lite no es capaz de ser utilizado
vía web… &lt;/span&gt;&lt;/p&gt;

&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;line-height:115%;font-family:&amp;#39;Arial&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;Por otro lado si juntamos el anuncio de la semana pasada de
su colaboración para desarrollar un plug-in para los dispositivos de Nokia y de
la próxima aparición del plug-in Silverlight 1.0 para los dispositivos basados
en la plataforma Nokia S60, que se ejecuta en sistemas Symbian y que denota su propósito
firme de ser un sistema Multiplataforma real… pues hacen que la hipótesis de Silverlight
para iPhone tenga mucho, mucho sentido… Ah, el plug-in para las series 40
saldrá algo más tarde del primero ;)&lt;/span&gt;&lt;/p&gt;

&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;line-height:115%;font-family:&amp;#39;Arial&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;En otro orden de cosas, para añadir más leña&lt;span&gt;&amp;nbsp; &lt;/span&gt;a la hipótesis, el Jueves pasado Apple
licenció la tecnología ActiveSync para el iPhone, con lo que se podrá
sincronizar con servidores Exchange!!&lt;/span&gt;&lt;/p&gt;

&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;line-height:115%;font-family:&amp;#39;Arial&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;

&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;line-height:115%;font-family:&amp;#39;Arial&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;Enlaces relacionados: &lt;/span&gt;&lt;/p&gt;

&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;line-height:115%;font-family:&amp;#39;Arial&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;a href="http://www.pcworld.com/article/id,143215-c,iphone/article.html"&gt;http://www.pcworld.com/article/id,143215-c,iphone/article.html&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;line-height:115%;font-family:&amp;#39;Arial&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;a href="http://www.zdnet.com.au/news/software/soa/Jobs-Flash-trashing-signals-Silverlight-for-iPhone-/0,130061733,339286558,00.htm"&gt;&lt;span&gt;http://www.zdnet.com.au/news/software/soa/Jobs-Flash-trashing-signals-Silverlight-for-iPhone-/0,130061733,339286558,00.htm&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;span style="font-size:10pt;line-height:115%;font-family:&amp;#39;Arial&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;Arial&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;a href="http://money.cnn.com/news/newsfeeds/articles/djf500/200803041742DOWJONESDJONLINE000829_FORTUNE5.htm"&gt;http://money.cnn.com/news/newsfeeds/articles/djf500/200803041742DOWJONESDJONLINE000829_FORTUNE5.htm&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;Arial&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;a href="http://www.appleinsider.com/articles/08/03/05/steve_jobs_pans_flash_on_the_iphone.html"&gt;http://www.appleinsider.com/articles/08/03/05/steve_jobs_pans_flash_on_the_iphone.html&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;Arial&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;a href="http://www.psynixis.com/blog/2008/03/05/scott-guthrie-hints-at-silverlight-on-iphone/"&gt;&lt;span&gt;http://www.psynixis.com/blog/2008/03/05/scott-guthrie-hints-at-silverlight-on-iphone/&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;Arial&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;Arial&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;a href="http://www.techcrunch.com/2008/03/05/microsoft-mix-keynote-one-live-from-las-vegas/"&gt;&lt;span&gt;http://www.techcrunch.com/2008/03/05/microsoft-mix-keynote-one-live-from-las-vegas/&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;Arial&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;line-height:115%;font-family:&amp;#39;Arial&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;/span&gt;&lt;a href="http://www.moconews.net/entry/419-jobs-to-adobe-flash-just-isnt-good-enough-for-iphone"&gt;&lt;span id="ctl00_Main_ctl07_ctl01"&gt;http://www.moconews.net/entry/419-jobs-to-adobe-flash-just-isnt-good-enough-for-iphone&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;Dejad vuestras opiniones.. seguro son interesantes!! (registro obligatorio x evitar spam, sorry)&lt;br /&gt;&lt;/p&gt;&lt;p&gt;José Luis&amp;nbsp;&lt;/p&gt;
Crossposting desde bcngeeks&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://geeks.ms/aggbug.aspx?PostID=80928" width="1" height="1"&gt;</description><category domain="http://geeks.ms/blogs/jllatorre/archive/tags/.net/default.aspx">.net</category><category domain="http://geeks.ms/blogs/jllatorre/archive/tags/silverlight/default.aspx">silverlight</category><category domain="http://geeks.ms/blogs/jllatorre/archive/tags/1.0/default.aspx">1.0</category><category domain="http://geeks.ms/blogs/jllatorre/archive/tags/activesync/default.aspx">activesync</category><category domain="http://geeks.ms/blogs/jllatorre/archive/tags/iphone/default.aspx">iphone</category><category domain="http://geeks.ms/blogs/jllatorre/archive/tags/flash/default.aspx">flash</category><category domain="http://geeks.ms/blogs/jllatorre/archive/tags/mobile/default.aspx">mobile</category></item><item><title>European Silverlight Challenge - ¡¡Participaciones en aumento!!</title><link>http://geeks.ms/blogs/jllatorre/archive/2008/01/25/european-silverlight-challenge-161-161-participaciones-en-aumento.aspx</link><pubDate>Fri, 25 Jan 2008 03:37:00 GMT</pubDate><guid isPermaLink="false">2a2e7ade-7474-448b-9de5-1515d8bb7d1b:66515</guid><dc:creator>Jose Luis Latorre</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://geeks.ms/blogs/jllatorre/rsscomments.aspx?PostID=66515</wfw:commentRss><wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://geeks.ms/blogs/jllatorre/commentapi.aspx?PostID=66515</wfw:comment><comments>http://geeks.ms/blogs/jllatorre/archive/2008/01/25/european-silverlight-challenge-161-161-participaciones-en-aumento.aspx#comments</comments><description>&lt;p&gt;Nada solo compartir por aqui mi alegría al ver que las participaciones se están activando en toda europa para el concurso de desarrollo europeo de silverligth, el European Silverlight Challenge, con una dotación en premios cercana a los 200.000$, que aquí tenemos nuestra versión local, el desafiosilverlight (&lt;span style="color:windowtext;"&gt;&lt;a href="http://spain.silverlightchallenge.eu/"&gt;&lt;span&gt;http://spain.silverlightchallenge.eu&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span style="font-family:Wingdings;"&gt;&lt;span&gt;o&lt;/span&gt;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span style="color:windowtext;"&gt;&lt;a href="http://desafiosilverlight.bcndev.net/"&gt;&lt;span&gt;http://desafiosilverlight.bcndev.net/&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;).&lt;/p&gt;&lt;p&gt;Para más información, la página de la competición central europea es h&lt;a href="http://www.silverlightchallenge.eu/" target="_blank"&gt;ttp://www.silverlightchallenge.eu/&lt;/a&gt; &lt;/p&gt;&lt;p&gt;O bien ir a ver la competición de cada pais en el que se celebra, aquí:&lt;/p&gt;&lt;p&gt;(puede ser interesante de ver para aprender y hay aplicaciones ciertamente interesantes)&amp;nbsp;&lt;/p&gt;&lt;ul&gt;&lt;li class="MsoNormal"&gt;&lt;span&gt;Italy &lt;/span&gt;&lt;span style="color:windowtext;"&gt;&lt;a href="http://italy.silverlightchallenge.eu/" target="_blank"&gt;&lt;span style="font-size:9pt;"&gt;http://italy.silverlightchallenge.eu&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;span style="font-size:9pt;"&gt; &lt;/span&gt;&lt;span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class="MsoNormal"&gt;&lt;b&gt;&lt;span&gt;United Kingdom &lt;/span&gt;&lt;/b&gt;&lt;span style="color:windowtext;"&gt;&lt;a href="http://unitedkingdom.silverlightchallenge.eu/" target="_blank"&gt;&lt;span&gt;http://unitedkingdom.silverlightchallenge.eu&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;b&gt;&lt;span&gt;      &lt;span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/li&gt;&lt;li class="MsoNormal"&gt;&lt;span&gt;Germany &lt;span&gt; &lt;/span&gt;&lt;/span&gt;&lt;span style="color:windowtext;"&gt;&lt;a href="http://germany.silverlightchallenge.eu/"&gt;&lt;span&gt;http://germany.silverlightchallenge.eu/&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;span style="color:windowtext;"&gt; &lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class="MsoNormal"&gt;&lt;b&gt;&lt;span&gt;Netherlands, The      (Holland) &lt;/span&gt;&lt;/b&gt;&lt;span style="color:windowtext;"&gt;&lt;a href="http://netherlands.silverlightchallenge.eu/" target="_blank"&gt;&lt;span style="font-size:9pt;"&gt;http://netherlands.silverlightchallenge.eu&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;b&gt;&lt;span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/li&gt;&lt;li class="MsoNormal"&gt;&lt;span&gt;Greece –&lt;span&gt;       &lt;/span&gt;&lt;/span&gt;&lt;span style="color:windowtext;"&gt;&lt;a href="http://greece.silverlightchallenge.eu/"&gt;&lt;b&gt;&lt;span&gt;http://greece.silverlightchallenge.eu/&lt;/span&gt;&lt;/b&gt;&lt;/a&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class="MsoNormal"&gt;&lt;span&gt;Norway – &lt;/span&gt;&lt;span style="color:windowtext;"&gt;&lt;a href="http://norway.silverlightchallenge.eu/"&gt;&lt;b&gt;&lt;span&gt;http://norway.silverlightchallenge.eu&lt;/span&gt;&lt;/b&gt;&lt;/a&gt;&lt;/span&gt;&lt;b&gt;&lt;span&gt;      &lt;/span&gt;&lt;/b&gt;&lt;span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class="MsoNormal"&gt;&lt;span&gt;Poland &lt;/span&gt;&lt;span style="color:windowtext;"&gt;&lt;a href="http://poland.silverlightchallenge.eu/" target="_blank"&gt;&lt;span style="font-size:9pt;"&gt;http://poland.silverlightchallenge.eu&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;span style="font-size:9pt;"&gt; &lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class="MsoNormal"&gt;&lt;span&gt;France &lt;/span&gt;&lt;span style="color:windowtext;"&gt;&lt;a href="http://france.silverlightchallenge.eu/"&gt;&lt;span&gt;http://france.silverlightchallenge.eu/&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;span&gt; &lt;span&gt; &lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class="MsoNormal"&gt;&lt;b&gt;&lt;span&gt;Russia – &lt;/span&gt;&lt;/b&gt;&lt;span style="color:windowtext;"&gt;&lt;a href="http://russia.silverlightchallenge.eu/"&gt;&lt;b&gt;&lt;span&gt;http://russia.silverlightchallenge.eu&lt;/span&gt;&lt;/b&gt;&lt;/a&gt;&lt;/span&gt;&lt;b&gt;&lt;span&gt;      &lt;span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/li&gt;&lt;li class="MsoNormal"&gt;&lt;span&gt;Spain &lt;/span&gt;&lt;span style="color:windowtext;"&gt;&lt;a href="http://spain.silverlightchallenge.eu/"&gt;&lt;span&gt;http://spain.silverlightchallenge.eu&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span style="font-family:Wingdings;"&gt;&lt;span&gt;è&lt;/span&gt;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span style="color:windowtext;"&gt;&lt;a href="http://desafiosilverlight.bcndev.net/"&gt;&lt;span&gt;http://desafiosilverlight.bcndev.net/&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;span&gt; &lt;span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class="MsoNormal"&gt;&lt;span&gt;Belgium – &lt;/span&gt;&lt;span style="color:windowtext;"&gt;&lt;a href="http://belgium.silverlightchallenge.eu/"&gt;&lt;b&gt;&lt;span&gt;http://belgium.silverlightchallenge.eu&lt;/span&gt;&lt;/b&gt;&lt;/a&gt;&lt;/span&gt;&lt;b&gt;&lt;span&gt;      &lt;/span&gt;&lt;/b&gt;&lt;span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class="MsoNormal"&gt;&lt;span&gt;Croatia &lt;/span&gt;&lt;span style="color:windowtext;"&gt;&lt;a href="http://croatia.silverlightchallenge.eu/" target="_blank"&gt;&lt;span style="font-size:9pt;"&gt;http://croatia.silverlightchallenge.eu&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;span style="font-size:9pt;"&gt; &lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class="MsoNormal"&gt;&lt;span&gt;Romania &lt;/span&gt;&lt;span style="color:windowtext;"&gt;&lt;a href="http://silverlight.ronua.ro/" target="_blank"&gt;&lt;span&gt;http://silverlight.ronua.ro/&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;span style="color:windowtext;"&gt; &lt;/span&gt;&lt;span style="font-family:Wingdings;color:windowtext;"&gt;&lt;span&gt;è&lt;/span&gt;&lt;/span&gt;&lt;span style="color:windowtext;"&gt; &lt;/span&gt;&lt;span style="color:windowtext;"&gt;&lt;a href="http://romania.silverlightchallenge.eu/" target="_blank"&gt;&lt;span style="font-size:9pt;"&gt;http://romania.silverlightchallenge.eu&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;span style="font-size:9pt;"&gt; &lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class="MsoNormal"&gt;Portugal – &lt;span style="color:windowtext;"&gt;&lt;a href="http://portugal.silverlightchallenge.eu/"&gt;&lt;b&gt;http://portugal.silverlightchallenge.eu&lt;/b&gt;&lt;/a&gt;&lt;/span&gt;&lt;b&gt; &lt;/b&gt;&lt;/li&gt;&lt;li class="MsoNormal"&gt;&lt;b&gt;&lt;span style="color:windowtext;"&gt;Slovenia      &lt;span&gt; &lt;/span&gt;&lt;span&gt;  &lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;b&gt;&lt;span&gt;- &lt;/span&gt;&lt;/b&gt;&lt;span style="color:windowtext;"&gt;&lt;a href="http://slovenia.silverlightchallenge.eu/"&gt;&lt;b&gt;&lt;span&gt;http://slovenia.silverlightchallenge.eu&lt;/span&gt;&lt;/b&gt;&lt;/a&gt;&lt;/span&gt;&lt;b&gt;&lt;span style="color:windowtext;"&gt; &lt;/span&gt;&lt;/b&gt;&lt;b&gt;&lt;span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/li&gt;&lt;li class="MsoNormal"&gt;&lt;span&gt;Macedonia &lt;/span&gt;&lt;span style="color:windowtext;"&gt;&lt;a href="http://macedonia.silverlightchallenge.eu/" target="_blank"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;Arial&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;http://macedonia.silverlightchallenge.eu&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;Arial&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:windowtext;"&gt;      &lt;/span&gt;&lt;b&gt;&lt;span style="font-size:14pt;font-family:Wingdings;"&gt;&lt;span&gt;ü&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;b&gt;&lt;span style="font-size:14pt;"&gt; &lt;/span&gt;&lt;/b&gt;&lt;span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class="MsoNormal"&gt;Bulgaria &lt;span style="color:windowtext;"&gt;&lt;a href="http://bulgaria.silverlightchallenge.eu/"&gt;http://bulgaria.silverlightchallenge.eu&lt;/a&gt;&lt;/span&gt;&lt;span&gt;  &lt;/span&gt;- &lt;span&gt; &lt;/span&gt;&lt;span style="color:windowtext;"&gt;&lt;a href="http://silverlight.sofiadev.org/" target="_blank"&gt;http://silverlight.sofiadev.org&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class="MsoNormal"&gt;&lt;span&gt;Malta – &lt;/span&gt;&lt;span style="color:windowtext;"&gt;&lt;a href="http://malta.silverlightchallenge.eu/"&gt;&lt;b&gt;&lt;span&gt;http://malta.silverlightchallenge.eu/&lt;/span&gt;&lt;/b&gt;&lt;/a&gt;&lt;/span&gt;&lt;b&gt;&lt;span&gt;      &lt;/span&gt;&lt;/b&gt;&lt;span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class="MsoNormal"&gt;&lt;span&gt;Ireland - &lt;b&gt;no answer . Contacted. No website…&lt;/b&gt; &lt;/span&gt;&lt;/li&gt;&lt;li class="MsoNormal"&gt;&lt;span&gt;Ukraine- &lt;a href="http://ukraine.silverlightchallenge.eu/"&gt;http://ukraine.silverlightchallenge.eu&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class="MsoNormal"&gt;&lt;b&gt;&lt;span&gt;Bosnia and Herzegovina – &lt;a href="http://bosnia.silverlightchallenge.eu/"&gt;http://bosnia.silverlightchallenge.eu&lt;/a&gt;      &lt;/span&gt;&lt;/b&gt;&lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;Divertiros, hay codigo realmente interesante por aquí ;)&lt;br /&gt;&lt;/p&gt;
&lt;p&gt;Happy Coding!!&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;
Crossposting desde bcngeeks&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://geeks.ms/aggbug.aspx?PostID=66515" width="1" height="1"&gt;</description><category domain="http://geeks.ms/blogs/jllatorre/archive/tags/comunidad/default.aspx">comunidad</category><category domain="http://geeks.ms/blogs/jllatorre/archive/tags/concurso/default.aspx">concurso</category><category domain="http://geeks.ms/blogs/jllatorre/archive/tags/ineta+europa/default.aspx">ineta europa</category><category domain="http://geeks.ms/blogs/jllatorre/archive/tags/ineta+europe/default.aspx">ineta europe</category><category domain="http://geeks.ms/blogs/jllatorre/archive/tags/silverlight/default.aspx">silverlight</category></item></channel></rss>