<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://blogs.msdn.com/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>Discussion about Design, Technologies and User eXperience</title><link>http://blogs.msdn.com/designexperience/default.aspx</link><description /><dc:language>en-US</dc:language><generator>CommunityServer 2.1 SP1 (Build: 61025.2)</generator><item><title>Anteprime Silverlight 4 @ pdc09</title><link>http://blogs.msdn.com/designexperience/archive/2009/11/20/anteprime-silverlight-4-pdc09.aspx</link><pubDate>Thu, 19 Nov 2009 23:22:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9926128</guid><dc:creator>Roberto Cavallini</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/designexperience/comments/9926128.aspx</comments><wfw:commentRss>http://blogs.msdn.com/designexperience/commentrss.aspx?PostID=9926128</wfw:commentRss><description>Proprio poche ore fa, @ pdc'09 abbiamo avuto le prime anticipazioni sulle nuove funzionalità che saranno incluse nella nuova versione del plug-in attualmente in Beta! La keynote del secondo giorno dell'evento è stata praticamente "monopolizzata" da questo...(&lt;a href="http://blogs.msdn.com/designexperience/archive/2009/11/20/anteprime-silverlight-4-pdc09.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9926128" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/designexperience/archive/tags/News+_2600_amp_3B00_+Eventi/default.aspx">News &amp;amp; Eventi</category><category domain="http://blogs.msdn.com/designexperience/archive/tags/Risorse+utili/default.aspx">Risorse utili</category><category domain="http://blogs.msdn.com/designexperience/archive/tags/Silverlight/default.aspx">Silverlight</category><category domain="http://blogs.msdn.com/designexperience/archive/tags/Expression+Blend/default.aspx">Expression Blend</category></item><item><title>Expresssion Blend &amp; SketchFlow @ Community Tour con Expressys.net e Visual Basic tips&amp;tricks </title><link>http://blogs.msdn.com/designexperience/archive/2009/11/11/expresssion-blend-sketchflow-community-tour-con-expressys-net-e-visual-basic-tips-tricks.aspx</link><pubDate>Wed, 11 Nov 2009 17:50:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9920929</guid><dc:creator>Roberto Cavallini</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/designexperience/comments/9920929.aspx</comments><wfw:commentRss>http://blogs.msdn.com/designexperience/commentrss.aspx?PostID=9920929</wfw:commentRss><description>Ormai ci siamo...mancano un paio di giorni alla tappa milanese del Community Tour che quest'anno vedrà per la prima volta coinvolta attivamente anche Expressys.net con una sessione dedicata alla realizzazione di prototipi interattivi attraverso Expression...(&lt;a href="http://blogs.msdn.com/designexperience/archive/2009/11/11/expresssion-blend-sketchflow-community-tour-con-expressys-net-e-visual-basic-tips-tricks.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9920929" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/designexperience/archive/tags/News+_2600_amp_3B00_+Eventi/default.aspx">News &amp;amp; Eventi</category><category domain="http://blogs.msdn.com/designexperience/archive/tags/Silverlight/default.aspx">Silverlight</category><category domain="http://blogs.msdn.com/designexperience/archive/tags/Expression+Blend/default.aspx">Expression Blend</category><category domain="http://blogs.msdn.com/designexperience/archive/tags/SketchFlow/default.aspx">SketchFlow</category></item><item><title>Silverlight e Expression Studio 3 al Creativity Day di Roma</title><link>http://blogs.msdn.com/designexperience/archive/2009/10/16/silverlight-e-expression-studio-3-al-creativity-day-di-roma.aspx</link><pubDate>Fri, 16 Oct 2009 15:58:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9908241</guid><dc:creator>Roberto Cavallini</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/designexperience/comments/9908241.aspx</comments><wfw:commentRss>http://blogs.msdn.com/designexperience/commentrss.aspx?PostID=9908241</wfw:commentRss><description>Dopo tante novità inerenti a risorse e tutorial sulla nuova versione di Expression Studio 3, concedetemi un "comunicato di servizio". Creativity Day 2009 - L'Habitat dei Creativi, si trasferisce a Roma e vi da appuntamento il 28 ottobre 2009 presso il...(&lt;a href="http://blogs.msdn.com/designexperience/archive/2009/10/16/silverlight-e-expression-studio-3-al-creativity-day-di-roma.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9908241" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/designexperience/archive/tags/News+_2600_amp_3B00_+Eventi/default.aspx">News &amp;amp; Eventi</category></item><item><title>Project Rosetta: nuovi tutorial Expression Blend 3</title><link>http://blogs.msdn.com/designexperience/archive/2009/10/07/project-rosetta-nuovi-tutorial-expression-blend-3.aspx</link><pubDate>Wed, 07 Oct 2009 18:15:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9904385</guid><dc:creator>Roberto Cavallini</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/designexperience/comments/9904385.aspx</comments><wfw:commentRss>http://blogs.msdn.com/designexperience/commentrss.aspx?PostID=9904385</wfw:commentRss><description>Sempre in ambito formazione e progettazione, vi segnalo questa interessante serie di tutorial [for beginners] dedicati alle nozioni basi per poter progettare interfacce utente con Expression Blend 3. La serie di tutorial fa parte del materiale disponibile...(&lt;a href="http://blogs.msdn.com/designexperience/archive/2009/10/07/project-rosetta-nuovi-tutorial-expression-blend-3.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9904385" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/designexperience/archive/tags/Expression+Studio/default.aspx">Expression Studio</category><category domain="http://blogs.msdn.com/designexperience/archive/tags/Tutorial+_2600_amp_3B00_+Webcast/default.aspx">Tutorial &amp;amp; Webcast</category><category domain="http://blogs.msdn.com/designexperience/archive/tags/Risorse+utili/default.aspx">Risorse utili</category><category domain="http://blogs.msdn.com/designexperience/archive/tags/Expression+Blend/default.aspx">Expression Blend</category></item><item><title>Disponibile un nuovo percorso formativo su Expression Studio 3 in italiano</title><link>http://blogs.msdn.com/designexperience/archive/2009/09/22/disponibile-un-nuovo-percorso-formativo-su-expression-studio-3-in-italiano.aspx</link><pubDate>Tue, 22 Sep 2009 16:01:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9897985</guid><dc:creator>Roberto Cavallini</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/designexperience/comments/9897985.aspx</comments><wfw:commentRss>http://blogs.msdn.com/designexperience/commentrss.aspx?PostID=9897985</wfw:commentRss><description>&lt;P&gt;&lt;IMG style="WIDTH: 360px; HEIGHT: 261px" title="Expression Studio 3 - Webcast" border=0 hspace=4 alt="Expression Studio 3 - Webcast" align=right src="http://0eyrnw.bay.livefilestore.com/y1pLn6jBfiKQhy7qm0nsfWvChm3kK5wcbY-rnJ5pEexst8VhcYey2Cr0LzG9Ds2r3P1wK2PytgW8mg-3ujGEtI6CTIiJHJ9RA-3/Webcast.jpg" width=360 height=261 mce_src="http://0eyrnw.bay.livefilestore.com/y1pLn6jBfiKQhy7qm0nsfWvChm3kK5wcbY-rnJ5pEexst8VhcYey2Cr0LzG9Ds2r3P1wK2PytgW8mg-3ujGEtI6CTIiJHJ9RA-3/Webcast.jpg"&gt;Volete scoprire tutti i segreti sui tool della famiglia Expression Studio 3: novità funzionali, esempi, tutorial e molto altro...&lt;BR&gt;Come vi avevo anticipato prima delle vacanze estive, sono da pochi giorni disponibili i primi &lt;STRONG&gt;7 webcast&lt;/STRONG&gt; che illustrano le principali novità&amp;nbsp;funzionali disponibili in Expression Studio 3 e Silverlight 3.&lt;BR&gt;&lt;BR&gt;Potete accedere al percorso formativo completo dalla seguente pagina:&lt;BR&gt;&lt;A title="Expression Studio 3 - Percorso formativo in italiano" href="http://tinyurl.com/expression-studio-3" target=_blank mce_href="http://tinyurl.com/expression-studio-3"&gt;&lt;STRONG&gt;http://tinyurl.com/expression-studio-3&lt;/STRONG&gt;&amp;nbsp;&lt;/A&gt;&lt;BR&gt;&lt;BR&gt;Per semplicità, vi riporto anche i riferimenti ad ogni singolo video tutorial:&lt;BR&gt;&lt;BR&gt;&lt;SPAN id=ctl00_ContentPlaceHolder1_m_dl_search_ctl00_m_lbl_VideoTitle&gt;&lt;A title="Expression Studio 3 Overview" href="http://www.microsoft.com/italy/beit/Generic.aspx?video=11008baa-f68c-4721-aae4-6dfa3ab3cbd8" target=_blank mce_href="http://www.microsoft.com/italy/beit/Generic.aspx?video=11008baa-f68c-4721-aae4-6dfa3ab3cbd8"&gt;- Expression Studio 3: "Overview &amp;amp; proposal scenarios" (16' min.)&lt;BR&gt;&lt;/A&gt;&lt;BR&gt;&lt;A title="Expression Blend 3 SketchFlow video tutorial" href="http://www.microsoft.com/italy/beit/Generic.aspx?video=ecd0cac3-c9ae-49ba-ac15-9d52fcc641e3" target=_blank mce_href="http://www.microsoft.com/italy/beit/Generic.aspx?video=ecd0cac3-c9ae-49ba-ac15-9d52fcc641e3"&gt;- &lt;SPAN id=ctl00_ContentPlaceHolder1_m_dl_search_ctl01_m_lbl_VideoTitle&gt;Expression Blend 3 SketchFlow: "Dal prototipo al progetto reale" (24' min.)&lt;/SPAN&gt;&lt;/A&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;&lt;SPAN&gt;&lt;A title="Expression Blend 3 - Gestione fonte dati di esempio - video tutorial" href="http://www.microsoft.com/italy/beit/Generic.aspx?video=9ff6c0be-869d-4d0e-a9b9-9935862ae7c9" target=_blank mce_href="http://www.microsoft.com/italy/beit/Generic.aspx?video=9ff6c0be-869d-4d0e-a9b9-9935862ae7c9"&gt;- &lt;SPAN id=ctl00_ContentPlaceHolder1_m_dl_search_ctl02_m_lbl_VideoTitle&gt;Expression Blend 3: "Sample Data &amp;amp; oltre…" (12' min.)&lt;/SPAN&gt;&lt;/A&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;&lt;SPAN&gt;&lt;SPAN&gt;&lt;A title="Expression Blend 3 Behavior video tutorial" href="http://www.microsoft.com/italy/beit/Generic.aspx?video=e523f40d-8686-473b-b366-9d034d2d3671" target=_blank mce_href="http://www.microsoft.com/italy/beit/Generic.aspx?video=e523f40d-8686-473b-b366-9d034d2d3671"&gt;- &lt;SPAN id=ctl00_ContentPlaceHolder1_m_dl_search_ctl03_m_lbl_VideoTitle&gt;Expression Blend 3: "Behavior - building block of interacivity"&lt;/SPAN&gt; (29' min.)&lt;/A&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;&lt;SPAN&gt;&lt;SPAN&gt;&lt;A title="Expression Web 3 &amp;amp; SuperPreview Video Tutorial" href="http://www.microsoft.com/italy/beit/Generic.aspx?video=6e0d8594-89c6-4ec7-89d3-ff2fb8f5caf6" target=_blank mce_href="http://www.microsoft.com/italy/beit/Generic.aspx?video=6e0d8594-89c6-4ec7-89d3-ff2fb8f5caf6"&gt;- &lt;SPAN id=ctl00_ContentPlaceHolder1_m_dl_search_ctl04_m_lbl_VideoTitle&gt;SuperPreview: ottimizzazione nella visualizzazione di un sito Web su più browser (27' min.)&lt;/SPAN&gt;&lt;/A&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;&lt;SPAN&gt;&lt;SPAN&gt;&lt;SPAN&gt;&lt;A title="Expression Encoder 3 - Video tutorial" href="http://www.microsoft.com/italy/beit/Generic.aspx?video=e02dce6d-349f-464b-947c-7b2629072fcd" target=_blank mce_href="http://www.microsoft.com/italy/beit/Generic.aspx?video=e02dce6d-349f-464b-947c-7b2629072fcd"&gt;- &lt;SPAN id=ctl00_ContentPlaceHolder1_m_dl_search_ctl05_m_lbl_VideoTitle&gt;Expression Encoder 3: novità encoding e ottimizzazione dei video (24' min.)&lt;/SPAN&gt;&lt;/A&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;&lt;SPAN&gt;&lt;SPAN&gt;&lt;SPAN&gt;&lt;SPAN&gt;&lt;A title="Deep Zoom Composer - Video tutorial" href="http://www.microsoft.com/italy/beit/Generic.aspx?video=635a5561-33fa-4d9e-ae5f-995d5f04ca50" target=_blank mce_href="http://www.microsoft.com/italy/beit/Generic.aspx?video=635a5561-33fa-4d9e-ae5f-995d5f04ca50"&gt;- &lt;SPAN id=ctl00_ContentPlaceHolder1_m_dl_search_ctl06_m_lbl_VideoTitle&gt;Deep Zoom Composer: overview sulle nuove funzionalità (50' min.)&lt;/SPAN&gt;&lt;/A&gt;&lt;BR&gt;&lt;BR&gt;Questa serie di webcast, vogliono essere i primi di una serie che andrò a realizzare nelle prossime settimane. Se avete suggerimenti su particolari funzionalità/esempi&amp;nbsp;su cui&amp;nbsp;volete avere approfondimenti o dettagli, vi invito ancora una volta a segnalarmi direttamente l'argomento al mio indirizzo di posta elettronica: &lt;A href="mailto:roberto.cavallini@microsoft.com"&gt;roberto.cavallini@microsoft.com&lt;/A&gt;&lt;BR&gt;&lt;BR&gt;&lt;/SPAN&gt;Vi ricordo infine che è da qualche giorno online, &lt;A title="Microsoft Expression Studio 3 &amp;amp; Silverlight" href="http://www.microsoft.com/italy/beit/Generic.aspx?video=635a5561-33fa-4d9e-ae5f-995d5f04ca50" target=_blank mce_href="http://www.microsoft.com/italy/beit/Generic.aspx?video=635a5561-33fa-4d9e-ae5f-995d5f04ca50"&gt;&lt;STRONG&gt;la nuova versione del portale dedicato ai prodotti Expression Studio&lt;/STRONG&gt;&lt;/A&gt; in italiano.&lt;BR&gt;&lt;/P&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9897985" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/designexperience/archive/tags/Corsi+_2600_amp_3B00_+Workshop/default.aspx">Corsi &amp;amp; Workshop</category><category domain="http://blogs.msdn.com/designexperience/archive/tags/Expression+Studio/default.aspx">Expression Studio</category><category domain="http://blogs.msdn.com/designexperience/archive/tags/Tutorial+_2600_amp_3B00_+Webcast/default.aspx">Tutorial &amp;amp; Webcast</category><category domain="http://blogs.msdn.com/designexperience/archive/tags/Link+utili/default.aspx">Link utili</category><category domain="http://blogs.msdn.com/designexperience/archive/tags/Risorse+utili/default.aspx">Risorse utili</category><category domain="http://blogs.msdn.com/designexperience/archive/tags/Silverlight/default.aspx">Silverlight</category><category domain="http://blogs.msdn.com/designexperience/archive/tags/Deep+Zoom/default.aspx">Deep Zoom</category><category domain="http://blogs.msdn.com/designexperience/archive/tags/Expression+Blend/default.aspx">Expression Blend</category><category domain="http://blogs.msdn.com/designexperience/archive/tags/SketchFlow/default.aspx">SketchFlow</category><category domain="http://blogs.msdn.com/designexperience/archive/tags/Prototyping/default.aspx">Prototyping</category></item><item><title>SketchFlow: realizzare prototipi “multi-user”</title><link>http://blogs.msdn.com/designexperience/archive/2009/09/09/sketchflow-realizzare-prototipi-multi-user.aspx</link><pubDate>Wed, 09 Sep 2009 14:16:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9893032</guid><dc:creator>Roberto Cavallini</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/designexperience/comments/9893032.aspx</comments><wfw:commentRss>http://blogs.msdn.com/designexperience/commentrss.aspx?PostID=9893032</wfw:commentRss><description>&lt;P&gt;Penso che a tutti voi sia potuto capitare di dover progettare &lt;STRONG&gt;un’applicazione che preveda la fruizione da parte dell’utente in più modalità/utenti diversi. &lt;/STRONG&gt;Mi spiego meglio, uno dei requisiti progettuali potrebbe essere quello di ipotizzare a seconda che un utente si sia loggato come “Administrator” e/o utente “Standard” di abilitare funzionalità e schermate diverse dell’applicazione. &lt;BR&gt;Una delle difficoltà che si potrebbero incontrare nel progettare un’applicazione di questo tipo, potrebbe essere quella di &lt;STRONG&gt;non riuscire a prototipizzare in modo dinamico ed efficace le funzionalità che dovranno essere poi implementate nel progetto finale&lt;/STRONG&gt;. Sempre inerente a queste funzionalità, riprendo &lt;A title="SketchFlow Conditional Navigation" href="http://blogs.msdn.com/designexperience/archive/2009/09/02/sketchflow-behavior-per-la-definizione-e-gestione-di-funzionalit-di-conditional-navigation-nei-prototipi.aspx" target=_blank mce_href="http://blogs.msdn.com/designexperience/archive/2009/09/02/sketchflow-behavior-per-la-definizione-e-gestione-di-funzionalit-di-conditional-navigation-nei-prototipi.aspx"&gt;&lt;STRONG&gt;un mio post di settimana scorsa&lt;/STRONG&gt;&lt;/A&gt; in cui segnalavo la disponibilità di alcuni “bahavior” utili per &lt;STRONG&gt;abilitare in un progetto SketchFlow le funzionalità di “Conditional Navigation”,&lt;/STRONG&gt; vi ricordate? Si &lt;STRONG&gt;modificava il comportamento collegato ad un “button” a seconda che si interagiva o meno su un “checkBox” prima di cliccare sul button.&lt;BR&gt;&lt;/STRONG&gt;Trovate l’esempio visualizzabile attraverso lo &lt;A title="Sample Conditional Navigation" href="http://roberto.design.members.winisp.net/SketchFlow/Esempio_NavigationConditional/TestPage.html" target=_blank mce_href="http://roberto.design.members.winisp.net/SketchFlow/Esempio_NavigationConditional/TestPage.html"&gt;&lt;STRONG&gt;SketchFlow Player a questo link&lt;/STRONG&gt;&lt;/A&gt;.&lt;BR&gt;&lt;BR&gt;Ma torniamo a questo nuovo scenario, in questo caso il tutto risulta implementato attraverso l’uso degli “states” e del “Visual States Manager”. &lt;STRONG&gt;Attraverso una serie di behavior lo SketchFlow Player sarà in grado di “registrare e memorizzare” il comportamento dell’utente e proporre dei contenuti specifici a seconda del profilo attivato.&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Vi invito a visualizzare un semplice esempio con il prototipo implementato disponibile&lt;/STRONG&gt; &lt;A title="SketchFlow User Mode Sample" href="http://roberto.design.members.winisp.net/BlendSample/GlobalStateSamplePackage/TestPage.html" target=_blank mce_href="http://roberto.design.members.winisp.net/BlendSample/GlobalStateSamplePackage/TestPage.html"&gt;a questo link&lt;/A&gt;.&lt;BR&gt;Mentre il &lt;A title="SampleSketchFlow GlobalSate" href="http://cid-11d88d4ffbc7b2b0.skydrive.live.com/self.aspx/Esempi%20Blend%203%20-%20SketchFlow/GlobalState%5E_UserMode/GlobalStateSample.zip" target=_blank mce_href="http://cid-11d88d4ffbc7b2b0.skydrive.live.com/self.aspx/Esempi%20Blend%203%20-%20SketchFlow/GlobalState^_UserMode/GlobalStateSample.zip"&gt;&lt;STRONG&gt;progetto completo in Blend 3&lt;/STRONG&gt;&lt;/A&gt; e i &lt;A title=Behavior_GlobalState href="http://cid-11d88d4ffbc7b2b0.skydrive.live.com/self.aspx/Esempi%20Blend%203%20-%20SketchFlow/GlobalState%5E_UserMode/Behaviors%5E_State.zip" target=_blank mce_href="http://cid-11d88d4ffbc7b2b0.skydrive.live.com/self.aspx/Esempi%20Blend%203%20-%20SketchFlow/GlobalState^_UserMode/Behaviors^_State.zip"&gt;&lt;STRONG&gt;behavior utilizzati nel progetto&lt;/STRONG&gt;&lt;/A&gt; nei rispettivi link.&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Come illustrato, &lt;STRONG&gt;se selezionate una o l’altra modalità di accesso interagendo con i “radio Button” [bullet 1],&lt;/STRONG&gt; &lt;STRONG&gt;viene memorizzato&lt;/STRONG&gt; in questo caso &lt;STRONG&gt;lo "states" con cui state accedendo [bullet 2]&lt;/STRONG&gt; e nel momento in cui accedete sullo “Screen 2” [bullet 3 all’interno dello SketchFlow Player]&amp;nbsp;vi &lt;STRONG&gt;verrà attivato il contenuto definito all’interno dello “states” corrispondente definito attraverso il Visual State Manager - nello specifico un "ComponentScreen" definito in un file XAML esterno (“StandardUI.XAML” e “AdminUI.XAML”).&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;&lt;IMG style="WIDTH: 558px; HEIGHT: 279px" title=SketchFlowUserMode1 border=0 hspace=0 alt=SketchFlowUserMode1 align=center src="http://0eyrnw.bay.livefilestore.com/y1pS7uJvSOks_uwJcqRS5lb4ycmG8FGuS3RBaDif7mtYZXM7QGB483cRTDtAGQvLdVA6yRm1nbAUQIIVrQ5rYQrJ4u9buWTfrlf/SketchGlobalState_1.jpg" width=558 height=279 mce_src="http://0eyrnw.bay.livefilestore.com/y1pS7uJvSOks_uwJcqRS5lb4ycmG8FGuS3RBaDif7mtYZXM7QGB483cRTDtAGQvLdVA6yRm1nbAUQIIVrQ5rYQrJ4u9buWTfrlf/SketchGlobalState_1.jpg"&gt;&lt;/P&gt;
&lt;P&gt;Per capire la logica dell’esempio &lt;STRONG&gt;vi invito a guardare insieme l’interazione definita attraverso l’uso dei behavior che dietro le quinte non fa altro che memorizzare o meno lo “states” in cui si trova l’applicazione e a seconda dell’interazione dell’utente attivare o meno gli “states” ad esso associati.&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;Iniziamo analizzando l’”Object Tree” dello “Screen 1”. Come vedete &lt;STRONG&gt;allo “UserControl” principale è applicato un behavior “SetGlobalStateAsVisualState”&lt;/STRONG&gt; &lt;STRONG&gt;che associa al Loaded dell’applicazione un GlobalStateTag “Default”.&lt;/STRONG&gt; Per rendere la cosa più comprensibile, ho creato uno screen shot dove sono rappresentati “side by side” i due panel.&lt;BR&gt;&lt;BR&gt;&lt;IMG style="WIDTH: 600px; HEIGHT: 370px" title=SketchFlowUserMode2 border=0 hspace=0 alt=SketchFlowUserMode2 align=center src="http://0eyrnw.bay.livefilestore.com/y1pzcpQWhQeskn7bYsRXxRGAH4setak7CQyNWDckdy6_MT07o3nLQUnS3j_s_ppydMsJ8iev0hoD04PigqD7thM-YDjv9BZEAzW/SketchGlobalState_2.jpg" width=600 height=370 mce_src="http://0eyrnw.bay.livefilestore.com/y1pzcpQWhQeskn7bYsRXxRGAH4setak7CQyNWDckdy6_MT07o3nLQUnS3j_s_ppydMsJ8iev0hoD04PigqD7thM-YDjv9BZEAzW/SketchGlobalState_2.jpg"&gt;&lt;/P&gt;
&lt;P&gt;Se andiamo avanti con l’analisi degli elementi che costituiscono l’applicazione, notate che &lt;STRONG&gt;hai&amp;nbsp;2 radioButton sono associati altri due behavior che non fanno altro che “memorizzare” come attivo lo stato associato al behavior&lt;/STRONG&gt;.&lt;BR&gt;&lt;IMG style="WIDTH: 500px; HEIGHT: 392px" title=SketchFlowUserMode3 border=0 hspace=0 alt=SketchFlowUserMode3 align=center src="http://0eyrnw.bay.livefilestore.com/y1pRxlB2DUJF6wP8TSSjNf8FHiHh9wuYkcBeokWn5V-n2Gakf8RyJoOo_hmuSIm7RC9kpLMlSq4MAKgTduVzs4Z7Q/SketchGlobalState_3.jpg" width=500 height=392 mce_src="http://0eyrnw.bay.livefilestore.com/y1pRxlB2DUJF6wP8TSSjNf8FHiHh9wuYkcBeokWn5V-n2Gakf8RyJoOo_hmuSIm7RC9kpLMlSq4MAKgTduVzs4Z7Q/SketchGlobalState_3.jpg"&gt;&lt;/P&gt;
&lt;P mce_keep="true"&gt;Osservate il pannello degli “States” [1] associati a questa pagina e definiti all’interno del Visual States Manager, noterete che &lt;STRONG&gt;sono attualmente presenti due stati “Standard” e “Admin”, i quali non fanno altro che attivare e/o disattivare il “radioButton”.&lt;/STRONG&gt; Banalmente nello “states” è stata associata la proprietà “radioButton” IsChecked [2]. &lt;BR&gt;&lt;IMG style="WIDTH: 542px; HEIGHT: 400px" title=SketchFlowUserMode4 border=0 hspace=0 alt=SketchFlowUserMode4 align=center src="http://0eyrnw.bay.livefilestore.com/y1p7QCHFOZPQFp8sfSvfRj3IQVm6CheTreyElrpoeVvTR8UWI0FtF1oHs2eIx7vLTU58HHDlen51uicgyEshtiGdA/SketchGlobalState_4.jpg" width=542 height=400 mce_src="http://0eyrnw.bay.livefilestore.com/y1p7QCHFOZPQFp8sfSvfRj3IQVm6CheTreyElrpoeVvTR8UWI0FtF1oHs2eIx7vLTU58HHDlen51uicgyEshtiGdA/SketchGlobalState_4.jpg"&gt;&lt;BR&gt;Infine potete notare, sempre dall’Object Tree, &lt;STRONG&gt;alle due label in alto a destra dell’interfaccia sono associati 2 semplici behavior “ChangePropertyAction” [1]&lt;/STRONG&gt; &lt;STRONG&gt;che non fanno altro che modificare la property “foreground” dei due controlli “TextBlock” sempre in relazione al “GlobalState” attivato&lt;/STRONG&gt;. In questo caso è stata modificata anche la tipologia di Trigger (TriggerType) che viene proposta di base dal behavior interagendo sul bottone “NEW” [2].&lt;BR&gt;&lt;IMG style="WIDTH: 500px; HEIGHT: 430px" title=SketchFlowUserMode5 border=0 hspace=0 alt=SketchFlowUserMode5 align=center src="http://0eyrnw.bay.livefilestore.com/y1px8Eg9v1qz5ocD3T3R9yLYOHcg9DYQXoYe_p2_rNoLadDeEtYjSvF0ONjYViDcR4yidoCy7n5Fw9hoHmLxNzN9Q/SketchGlobalState_5.jpg" width=500 height=430 mce_src="http://0eyrnw.bay.livefilestore.com/y1px8Eg9v1qz5ocD3T3R9yLYOHcg9DYQXoYe_p2_rNoLadDeEtYjSvF0ONjYViDcR4yidoCy7n5Fw9hoHmLxNzN9Q/SketchGlobalState_5.jpg"&gt;&lt;/P&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;Nell’immagine qui sotto potete vedere la maschera per definire il nuovo “TriggerType”.&lt;BR&gt;&lt;IMG style="WIDTH: 392px; HEIGHT: 428px" title=SketchFlowUserMode6 border=0 hspace=0 alt=SketchFlowUserMode6 align=center src="http://0eyrnw.bay.livefilestore.com/y1pa-24GtQdw4NuDnhxEywDZvAMtqWrNqHzEM_tdXapEVNQlMbCDIoYqBFRnUFCwR-xJ3xGE7-BTXhCjOumPPfpig/SketchGlobalState_6.jpg" width=392 height=428 mce_src="http://0eyrnw.bay.livefilestore.com/y1pa-24GtQdw4NuDnhxEywDZvAMtqWrNqHzEM_tdXapEVNQlMbCDIoYqBFRnUFCwR-xJ3xGE7-BTXhCjOumPPfpig/SketchGlobalState_6.jpg"&gt;&lt;BR&gt;&lt;BR&gt;Passiamo quindi velocemente ad analizzare come sono strutturati i behavior e i controlli che caratterizzano “Screen 2”.&amp;nbsp;&lt;STRONG&gt;Rappresentato nella SketchFlowMap, a “Screen 2” sono agganciati due “ComponentScreen”&amp;nbsp;il cui comportamento&amp;nbsp;viene&amp;nbsp;gestito attraverso il “Visual States Manager”.&lt;BR&gt;&lt;BR&gt;&lt;/STRONG&gt;&lt;IMG style="WIDTH: 499px; HEIGHT: 166px" title=SketchFlowUserMode7 border=0 hspace=0 alt=SketchFlowUserMode7 align=center src="http://0eyrnw.bay.livefilestore.com/y1pMmJDNGBzbOqYI7akPxPmbIoi_6DIo7JzfjE7KDo5iqEEXfvwQhO5YO28br3d2sdDc5btaSXMkXdPrOCv7dEalg/SketchGlobalState_7.jpg" width=499 height=166 mce_src="http://0eyrnw.bay.livefilestore.com/y1pMmJDNGBzbOqYI7akPxPmbIoi_6DIo7JzfjE7KDo5iqEEXfvwQhO5YO28br3d2sdDc5btaSXMkXdPrOCv7dEalg/SketchGlobalState_7.jpg"&gt;&lt;BR&gt;&lt;BR&gt;Se andiamo ad analizzare gli elementi contenuti nell’Object Tree, vi renderete conto che in questo caso il tutto è molto più semplice. &lt;STRONG&gt;Nel Visual States Manager sono stati definiti i 3 stati che non fanno altro che attivare e disattivare i ComponentScreen e le label (TextBlock) che indicano in quale “user mode” l’utente sta fruendo dei contenuti.&lt;/STRONG&gt; &lt;STRONG&gt;Selezionando uno stato o l’altro - vi consiglio di fare attenzione al pannello delle “Opacity”, noterete che a seconda che sia attivato/disattivata una modalità di navigazione “Standard/Admin” viene modificata la proprietà di “Opacity” associata. &lt;/STRONG&gt;Nello “screenshot” riportato qui sotto, stato attivato lo states “Admin” [1] e se selezioniamo sull’ObjectTree il “ComponentScreen” standardUI [2] risulta applicata una properties di “Opacity=0”.&lt;BR&gt;&lt;BR&gt;&lt;IMG style="WIDTH: 500px; HEIGHT: 490px" title=SketchFlowUserMode8 border=0 hspace=0 alt=SketchFlowUserMode8 align=center src="http://0eyrnw.bay.livefilestore.com/y1pz2Kkyz8Qd7jhikZLm7M0EtY7KZig08rurTMPuQzrWhdCi8whuIwbDMQ8RcxkqOPmndIkrUc0Nf3Xv_j4kuMdBw/SketchGlobalState_8.jpg" width=500 height=490 mce_src="http://0eyrnw.bay.livefilestore.com/y1pz2Kkyz8Qd7jhikZLm7M0EtY7KZig08rurTMPuQzrWhdCi8whuIwbDMQ8RcxkqOPmndIkrUc0Nf3Xv_j4kuMdBw/SketchGlobalState_8.jpg"&gt;&lt;BR&gt;&lt;BR&gt;Per concludere, se andiamo a vedere le proprietà associate ai due behavior sullo UserControl principale, “MapGlobalStateToState” -&lt;STRONG&gt; in relazione al GlobalState che viene ereditato dalla scelta che l’utente ha fatto sullo “Screen 1” si attiva lo “states” corrispondente nel VisualStatesManager&lt;/STRONG&gt;.&lt;BR&gt;&lt;IMG style="WIDTH: 600px; HEIGHT: 495px" title=SketchFlowUserMode9 border=0 hspace=0 alt=SketchFlowUserMode9 align=center src="http://0eyrnw.bay.livefilestore.com/y1p4_2vXuYrJNyqP4N-cHiJfYqYCwObooxfdyYB3SDqGkqnVe18pHZGpypUaylHm3dKonfYYvYQGCx5JfHAIxixcQ/SketchGlobalState_9.jpg" width=600 height=495 mce_src="http://0eyrnw.bay.livefilestore.com/y1p4_2vXuYrJNyqP4N-cHiJfYqYCwObooxfdyYB3SDqGkqnVe18pHZGpypUaylHm3dKonfYYvYQGCx5JfHAIxixcQ/SketchGlobalState_9.jpg"&gt;&lt;/P&gt;
&lt;P mce_keep="true"&gt;Vi invito quindi a fare il &lt;A title=GlobalSateSample href="http://cid-11d88d4ffbc7b2b0.skydrive.live.com/self.aspx/Esempi%20Blend%203%20-%20SketchFlow/GlobalState%5E_UserMode/GlobalStateSample.zip" target=_blank mce_href="http://cid-11d88d4ffbc7b2b0.skydrive.live.com/self.aspx/Esempi%20Blend%203%20-%20SketchFlow/GlobalState^_UserMode/GlobalStateSample.zip"&gt;&lt;STRONG&gt;download dell’esempio, disponibile a questo link&lt;/STRONG&gt;&lt;/A&gt; e ad aprirlo con Blend per provare dal vivo le funzionalità descritte in questo articolo. Facendo [F5] da tastiera vi verrà caricato lo SketckFlow Player all’interno del browser di testing.&lt;BR&gt;&lt;BR&gt;Colgo l'occasione per ringraziare&amp;nbsp;inoltre il mio collega Christian Schormann da cui ho preso ispirazione per scrivere questo post, &lt;A title="Electric Beach Blog - Christian Schormann" href="http://electricbeach.org/?p=349" target=_blank mce_href="http://electricbeach.org/?p=349"&gt;sul suo blog&lt;/A&gt; trovate una serie di dettagli in più sull'esempio dal punto di vista dello sviluppo.&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9893032" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/designexperience/archive/tags/Expression+Blend/default.aspx">Expression Blend</category><category domain="http://blogs.msdn.com/designexperience/archive/tags/SketchFlow/default.aspx">SketchFlow</category></item><item><title>Personalizzare una ScrollBar attraverso gli "styles" in Silverlight</title><link>http://blogs.msdn.com/designexperience/archive/2009/09/07/personalizzare-una-scrollbar-attraverso-gli-styles-in-silverlight.aspx</link><pubDate>Mon, 07 Sep 2009 14:02:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9892188</guid><dc:creator>Roberto Cavallini</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/designexperience/comments/9892188.aspx</comments><wfw:commentRss>http://blogs.msdn.com/designexperience/commentrss.aspx?PostID=9892188</wfw:commentRss><description>&lt;P&gt;Continuiamo con la carrellata sulla personalizzazione dei controlli in Silverlight 3 attraverso l’impiego degli “Styles” e dei “ControlTemplate”. &lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;ScrollBar:&lt;/STRONG&gt;&lt;BR&gt;Anche in questo caso, partiamo da alcuni semplici elementi di grafica creati in precedenza attraverso Illustrator ed importati in Blend 3. L’asset grafico importato definisce lo stile “Normal” della ScroolBar, mentre nell’immagine qui sotto ho voluto riportare come ho ipotizzato il comportamento della ScrollBar nei vari stati d’impiego.&lt;BR&gt;&lt;BR&gt;&lt;IMG style="WIDTH: 239px; HEIGHT: 275px" title="ScrollBar Silverlight 3" border=0 hspace=0 alt="ScrollBar Silverlight 3" align=center src="http://0eyrnw.bay.livefilestore.com/y1p9Leh5_kmoeB75vXPGIznMYELLhSRMeNrggc3th5n3XcSiKXqPfs_TLZMEO0q2mmxW7ilAzujGohEJP9Y6GhY-w/ScrollBar_1.jpg" width=239 height=275 mce_src="http://0eyrnw.bay.livefilestore.com/y1p9Leh5_kmoeB75vXPGIznMYELLhSRMeNrggc3th5n3XcSiKXqPfs_TLZMEO0q2mmxW7ilAzujGohEJP9Y6GhY-w/ScrollBar_1.jpg"&gt;&lt;/P&gt;
&lt;P&gt;In pratica, come negli esempi illustrati in precedenza, il primo step è quello di &lt;STRONG&gt;convertire gli asset grafici in “controllo”.&lt;/STRONG&gt; Anche in questo caso, l’abbiamo ormai visto più volte, &lt;STRONG&gt;selezioniamo il contenitore Grid “verticalscrollbar” e trasformiamo il tutto in controllo definendo lo “Styles” ed il “ControlTemplate” facendo semplicemente “Tools &amp;gt; Make Into Control &amp;gt; ScrollBar”. &lt;BR&gt;&lt;/STRONG&gt;Vi ricordo che nella maschera “Make into Control” è fondamentale che definite la tipologia di controllo che volete creare nel nostro esempio “ScrollBar”. Per facilitare questa operazione vi consiglio di utilizzare l’utile motore di ricerca che vi permette di filtrare direttamente sulla tipologia di controllo.&lt;BR&gt;&lt;BR&gt;&lt;IMG style="WIDTH: 300px; HEIGHT: 258px" title="Scroll Bar Silverlight" border=0 hspace=0 alt="Scroll Bar Silverlight" align=center src="http://0eyrnw.bay.livefilestore.com/y1p15udVHlw0vqpOORbl7Xk_8crGU6zAyifTj0cakX41LmZo4FZ8-oBcKYUr77mJ1wckEs-UoMbKSF1diOHvsTkGg/ScrollBar_2.jpg" width=300 height=258 mce_src="http://0eyrnw.bay.livefilestore.com/y1p15udVHlw0vqpOORbl7Xk_8crGU6zAyifTj0cakX41LmZo4FZ8-oBcKYUr77mJ1wckEs-UoMbKSF1diOHvsTkGg/ScrollBar_2.jpg"&gt;&lt;/P&gt;
&lt;P&gt;A questo punto vi troverete nella root del ControlTemplate che avete appena creato, nel pannello Object Tree, dove anche in questo caso la grid principale avrà il nome “verticalscrollbar”. Sempre all’interno del template, selezioniamo la grid principale “verticalscrollbar” e dal menù “tool” selezioniamo &lt;STRONG&gt;“Make Into Part of ScrollBar &amp;gt; VerticalRoot”. “verticalscrollbar” verrà quindi rinominata in “VerticalRoot”.&lt;BR&gt;&lt;IMG style="WIDTH: 360px; HEIGHT: 280px" title="ScrollBar Silverlight" border=0 hspace=0 alt="ScrollBar Silverlight" align=center src="http://0eyrnw.bay.livefilestore.com/y1pzSk3fY3hrSkyHtByc8bmlEpWR4Lbo0EQgYDKMlJ1oOxKm8uR4XHoID6J46xtrzkIWKdtg4jJOt9PFZoSaWQ4ow/ScrollBar_3.jpg" width=360 height=280 mce_src="http://0eyrnw.bay.livefilestore.com/y1pzSk3fY3hrSkyHtByc8bmlEpWR4Lbo0EQgYDKMlJ1oOxKm8uR4XHoID6J46xtrzkIWKdtg4jJOt9PFZoSaWQ4ow/ScrollBar_3.jpg"&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="LINE-HEIGHT: 115%; FONT-FAMILY: 'Calibri','sans-serif'; FONT-SIZE: 11pt; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: Calibri; mso-fareast-theme-font: minor-latin; mso-hansi-theme-font: minor-latin; mso-bidi-font-family: 'Times New Roman'; mso-bidi-theme-font: minor-bidi; mso-ansi-language: IT; mso-fareast-language: EN-US; mso-bidi-language: AR-SA"&gt;Suddividiamo&amp;nbsp;la grid nelle 5 righe necessarie per la definizione della ScrollBar. &lt;STRONG&gt;Nel nostro esempio specifico stiamo parlando di “5 righe” in quanto si tratta di una ScrollBar Vertical, se si trattasse di Horizontal, in questo caso si trattava di suddividere in 5 colonne&lt;/STRONG&gt;. Vediamo illustrato il dettaglio nella figura qui sotto.&lt;BR style="mso-special-character: line-break"&gt;&lt;BR style="mso-special-character: line-break"&gt;&lt;IMG style="WIDTH: 101px; HEIGHT: 204px" title="Silverligth Scroolbar" border=0 hspace=0 alt="Silverligth Scroolbar" align=center src="http://0eyrnw.bay.livefilestore.com/y1psFrGwxZ2vdsBe8PVnz8REbITLLzCWiyQ_JDSRe_fLCPb6_8pwf27bVFNok05alimvkCYDFY5fU94F5oHqdvhwg/ScrollBar_4.jpg" width=101 height=204 mce_src="http://0eyrnw.bay.livefilestore.com/y1psFrGwxZ2vdsBe8PVnz8REbITLLzCWiyQ_JDSRe_fLCPb6_8pwf27bVFNok05alimvkCYDFY5fU94F5oHqdvhwg/ScrollBar_4.jpg"&gt;&lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="LINE-HEIGHT: 115%; FONT-FAMILY: 'Calibri','sans-serif'; FONT-SIZE: 11pt; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: Calibri; mso-fareast-theme-font: minor-latin; mso-hansi-theme-font: minor-latin; mso-bidi-font-family: 'Times New Roman'; mso-bidi-theme-font: minor-bidi; mso-ansi-language: IT; mso-fareast-language: EN-US; mso-bidi-language: AR-SA"&gt;Se avete suddiviso correttamente la Grid, gli elementi grafici vi dovranno risultare in questo modo: “Track” in RowSpan “5”, “smalldecrease” in Row ”0”, thumb in Row “2”, e smallincrease in Row “4”.&lt;BR&gt;La VerticalSmallDecrease non è ancora nel template, ma abbiamo l’asset grafico per questa parte che è l’oggetto “smalldecrease”. Bisognerà quindi trasformare questo oggetto attraverso il comando “Make Into Part” in Make Into Part. Selezioniamo quindi “smalldecrease” e dal menu tool trasformiamo “&lt;STRONG&gt;Tools &amp;gt; Make Into Part of ScrollBar &amp;gt; VerticalSmallDecrease &amp;gt; OK&lt;/STRONG&gt;”.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="LINE-HEIGHT: 115%; FONT-FAMILY: 'Calibri','sans-serif'; FONT-SIZE: 11pt; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: Calibri; mso-fareast-theme-font: minor-latin; mso-hansi-theme-font: minor-latin; mso-bidi-font-family: 'Times New Roman'; mso-bidi-theme-font: minor-bidi; mso-ansi-language: IT; mso-fareast-language: EN-US; mso-bidi-language: AR-SA"&gt;Nel nostro esempio non abbiamo bisogno del “ContentPresenter” quindi possiamo cancellarlo. Selezioniamo “smalldecrease” e impostiamo la width e la height a “7” nel pannello delle proprietà.&lt;BR&gt;Modifichiamo le dimensioni della grid a “7” ed il colore di sfondo “background” trasparente.&lt;BR&gt;Interagendo con il comando “Scope up”, torniamo nel template principale “ScrollBarStyle1”, selezioniamo “VerticalSmallDecrease” e resettiamo Width, Height e Margin.&lt;BR&gt;&lt;STRONG&gt;A questo punto dobbiamo definire gli “States” per il comportamento di “MouseOver” e “Pressed”,&lt;/STRONG&gt; entriamo quindi nel template “RepeatButtonStyle1” e all’asset “smalldecrease”, modifichiamo il colore di riempimento Fill nei vari “states” rispettivamente come segue: “MouseOver” “Fill=#FFCCCCCC” e “Pressed” – smalldecrease “Fill= FFE5E5E5”. Per rendere i cambi di stati ancora più piacevoli è possibile definire una transitino “0,2” tra i vari “states” appena definiti. Del tipo “Normal -&amp;gt; MouseOver” 0,2 sec.&lt;BR&gt;&lt;IMG style="WIDTH: 416px; HEIGHT: 138px" title="ScrollBar Silverlight" border=0 hspace=0 alt="ScrollBar Silverlight" align=center src="http://0eyrnw.bay.livefilestore.com/y1pJfE8MGkX2mVCtznkKstftx4-hncsq9nUXpam4SmdrpUs7i8Ld771zBMDhwPQs3MlpC6odZrDbmWYXCCRB2pezQ/ScrollBar_5.jpg" width=416 height=138 mce_src="http://0eyrnw.bay.livefilestore.com/y1pJfE8MGkX2mVCtznkKstftx4-hncsq9nUXpam4SmdrpUs7i8Ld771zBMDhwPQs3MlpC6odZrDbmWYXCCRB2pezQ/ScrollBar_5.jpg"&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;Ritorniamo quindi interagendo sul bottone “Scope up” nel template principale e ripetiamo le stesse operazioni anche per il bottone “smallincrease”.Selezioniamo quindi “thumb” sull’”Object Tree” nel control template principale e trasformiamo in VerticalThum come segue, “Tools &amp;gt; Make Into Part of ScrollBar &amp;gt; VerticalThumb &amp;gt; Ok”.&lt;BR&gt;A questo punto bisognerà associare una MinHeight, ritorniamo quindi sul control template principale, selezioniamo “VerticalThumb”, applichiamo dei margin Left:5, Right:5, Top:0, Bottom:0; resettiamo la Height e associamo un MinHeight to 7.&lt;BR&gt;&lt;BR&gt;&lt;IMG style="WIDTH: 265px; HEIGHT: 214px" title="Scroolbar Silverlight" border=0 hspace=0 alt="Scroolbar Silverlight" align=center src="http://0eyrnw.bay.livefilestore.com/y1pnvFaGAP6jUIKjIwIbdl26QKdzNPfCe75vNCQJwvC9IVduwsaCpRN-MjwqUT3G0sdgUVAXm-J5vRXO4X2Je_kkw/ScrollBar_6.jpg" width=265 height=214 mce_src="http://0eyrnw.bay.livefilestore.com/y1pnvFaGAP6jUIKjIwIbdl26QKdzNPfCe75vNCQJwvC9IVduwsaCpRN-MjwqUT3G0sdgUVAXm-J5vRXO4X2Je_kkw/ScrollBar_6.jpg"&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="LINE-HEIGHT: 115%; FONT-FAMILY: 'Calibri','sans-serif'; FONT-SIZE: 11pt; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: Calibri; mso-fareast-theme-font: minor-latin; mso-hansi-theme-font: minor-latin; mso-bidi-font-family: 'Times New Roman'; mso-bidi-theme-font: minor-bidi; mso-ansi-language: IT; mso-fareast-language: EN-US; mso-bidi-language: AR-SA"&gt;&lt;STRONG&gt;Definiamo quindi gli “states” ed il comportamento attraverso il Visual States Manager&lt;/STRONG&gt;, entriamo nel template di Thumb e associamo gli states di “MouseOver”, “Pressed” e la Transition in “0,2 sec”.&lt;BR&gt;In conclusione, torniamo sulla Root principale del ControlTemplate “ScrollBarStyle1”, attiviamo il pannello “Parts” di Blend, e con selezionato la grid VerticalRoot nel ObjectTree, inseriamo “VerticalLargeDecrease”, nelle proprietà impostate Row=”1” e Opacity=”0”. Stessa operazione anche per il “VerticalLargeIncrease” con la differenza che impostate Row=”3”.&lt;BR style="mso-special-character: line-break"&gt;&lt;BR style="mso-special-character: line-break"&gt;&lt;IMG style="WIDTH: 284px; HEIGHT: 313px" title="Silverlight Scroolbar" border=0 hspace=0 alt="Silverlight Scroolbar" align=center src="http://0eyrnw.bay.livefilestore.com/y1p5xba4juXbYh2CoyEQte8fpJ2jMfgH2teFn1sGqQmpbLF5tRQmu7ibC1n_Ufq8P4d-379mEKImxNwqAf27yN7xw/ScrollBar_7.jpg" width=284 height=313 mce_src="http://0eyrnw.bay.livefilestore.com/y1p5xba4juXbYh2CoyEQte8fpJ2jMfgH2teFn1sGqQmpbLF5tRQmu7ibC1n_Ufq8P4d-379mEKImxNwqAf27yN7xw/ScrollBar_7.jpg"&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="LINE-HEIGHT: 115%; FONT-FAMILY: 'Calibri','sans-serif'; FONT-SIZE: 11pt; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: Calibri; mso-fareast-theme-font: minor-latin; mso-hansi-theme-font: minor-latin; mso-bidi-font-family: 'Times New Roman'; mso-bidi-theme-font: minor-bidi; mso-ansi-language: IT; mso-fareast-language: EN-US; mso-bidi-language: AR-SA"&gt;&lt;SPAN style="LINE-HEIGHT: 115%; FONT-FAMILY: 'Calibri','sans-serif'; FONT-SIZE: 11pt; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: Calibri; mso-fareast-theme-font: minor-latin; mso-hansi-theme-font: minor-latin; mso-bidi-font-family: 'Times New Roman'; mso-bidi-theme-font: minor-bidi; mso-ansi-language: IT; mso-fareast-language: EN-US; mso-bidi-language: AR-SA"&gt;Abbiamo praticamente concluso l’esempio, l’unica cosa che ci rimane da fare prima di lanciare il build dell’applicazione e testare il tutto e quella di &lt;STRONG&gt;impostare le dimensioni delle nostre righe in questo modo: Auto, Auto, Auto, Star e Auto.&lt;BR&gt;&lt;IMG style="WIDTH: 97px; HEIGHT: 201px" title="ScrollBar Silverlight" border=0 hspace=0 alt="ScrollBar Silverlight" align=center src="http://0eyrnw.bay.livefilestore.com/y1pb3qHviUA3B7xmsDhyth9rp7xEEhZ_2tQa74NLMkBgYKoPexVBvdAwfEjfh4cgv2TdTsw_a2WkoQQIbqggYOswQ/ScrollBar_8.jpg" width=97 height=201 mce_src="http://0eyrnw.bay.livefilestore.com/y1pb3qHviUA3B7xmsDhyth9rp7xEEhZ_2tQa74NLMkBgYKoPexVBvdAwfEjfh4cgv2TdTsw_a2WkoQQIbqggYOswQ/ScrollBar_8.jpg"&gt;&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="LINE-HEIGHT: 115%; FONT-FAMILY: 'Calibri','sans-serif'; FONT-SIZE: 11pt; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: Calibri; mso-fareast-theme-font: minor-latin; mso-hansi-theme-font: minor-latin; mso-bidi-font-family: 'Times New Roman'; mso-bidi-theme-font: minor-bidi; mso-ansi-language: IT; mso-fareast-language: EN-US; mso-bidi-language: AR-SA"&gt;&lt;SPAN style="LINE-HEIGHT: 115%; FONT-FAMILY: 'Calibri','sans-serif'; FONT-SIZE: 11pt; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: Calibri; mso-fareast-theme-font: minor-latin; mso-hansi-theme-font: minor-latin; mso-bidi-font-family: 'Times New Roman'; mso-bidi-theme-font: minor-bidi; mso-ansi-language: IT; mso-fareast-language: EN-US; mso-bidi-language: AR-SA"&gt;&lt;SPAN style="LINE-HEIGHT: 115%; FONT-FAMILY: 'Calibri','sans-serif'; FONT-SIZE: 11pt; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: Calibri; mso-fareast-theme-font: minor-latin; mso-hansi-theme-font: minor-latin; mso-bidi-font-family: 'Times New Roman'; mso-bidi-theme-font: minor-bidi; mso-ansi-language: IT; mso-fareast-language: EN-US; mso-bidi-language: AR-SA"&gt;&lt;STRONG&gt;&lt;A title="Silverlight Custom ScrollBar" href="http://cid-11d88d4ffbc7b2b0.skydrive.live.com/self.aspx/Esempi%20Blend%203%20-%20SketchFlow/ScrollBarSilverlight.zip" target=_blank mce_href="http://cid-11d88d4ffbc7b2b0.skydrive.live.com/self.aspx/Esempi%20Blend%203%20-%20SketchFlow/ScrollBarSilverlight.zip"&gt;A questo link,&lt;/A&gt;&lt;/STRONG&gt; trovate disponibile al download il codice sorgente del progetto in Blend 3. &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="LINE-HEIGHT: 115%; FONT-FAMILY: 'Calibri','sans-serif'; FONT-SIZE: 11pt; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: Calibri; mso-fareast-theme-font: minor-latin; mso-hansi-theme-font: minor-latin; mso-bidi-font-family: 'Times New Roman'; mso-bidi-theme-font: minor-bidi; mso-ansi-language: IT; mso-fareast-language: EN-US; mso-bidi-language: AR-SA"&gt;&lt;SPAN style="LINE-HEIGHT: 115%; FONT-FAMILY: 'Calibri','sans-serif'; FONT-SIZE: 11pt; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: Calibri; mso-fareast-theme-font: minor-latin; mso-hansi-theme-font: minor-latin; mso-bidi-font-family: 'Times New Roman'; mso-bidi-theme-font: minor-bidi; mso-ansi-language: IT; mso-fareast-language: EN-US; mso-bidi-language: AR-SA"&gt;&lt;SPAN style="LINE-HEIGHT: 115%; FONT-FAMILY: 'Calibri','sans-serif'; FONT-SIZE: 11pt; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: Calibri; mso-fareast-theme-font: minor-latin; mso-hansi-theme-font: minor-latin; mso-bidi-font-family: 'Times New Roman'; mso-bidi-theme-font: minor-bidi; mso-ansi-language: IT; mso-fareast-language: EN-US; mso-bidi-language: AR-SA"&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;IFRAME style="BORDER-BOTTOM: #dde5e9 1px solid; BORDER-LEFT: #dde5e9 1px solid; PADDING-BOTTOM: 0px; BACKGROUND-COLOR: #ffffff; MARGIN: 3px; PADDING-LEFT: 0px; WIDTH: 240px; PADDING-RIGHT: 0px; HEIGHT: 66px; BORDER-TOP: #dde5e9 1px solid; BORDER-RIGHT: #dde5e9 1px solid; PADDING-TOP: 0px" marginHeight=0 src="http://cid-11d88d4ffbc7b2b0.skydrive.live.com/embedrowdetail.aspx/Esempi%20Blend%203%20-%20SketchFlow/ScrollBarSilverlight.zip" frameBorder=0 marginWidth=0 scrolling=no&gt;&lt;/IFRAME&gt;&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9892188" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/designexperience/archive/tags/Tutorial+_2600_amp_3B00_+Webcast/default.aspx">Tutorial &amp;amp; Webcast</category><category domain="http://blogs.msdn.com/designexperience/archive/tags/Risorse+utili/default.aspx">Risorse utili</category><category domain="http://blogs.msdn.com/designexperience/archive/tags/Silverlight/default.aspx">Silverlight</category><category domain="http://blogs.msdn.com/designexperience/archive/tags/Expression+Blend/default.aspx">Expression Blend</category></item><item><title>Definire lo Style ed il Control Template per un "Button" in Silverlight 3</title><link>http://blogs.msdn.com/designexperience/archive/2009/09/04/definire-lo-style-ed-il-control-template-per-un-button-in-silverlight-3.aspx</link><pubDate>Fri, 04 Sep 2009 19:17:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9891474</guid><dc:creator>Roberto Cavallini</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/designexperience/comments/9891474.aspx</comments><wfw:commentRss>http://blogs.msdn.com/designexperience/commentrss.aspx?PostID=9891474</wfw:commentRss><description>&lt;P&gt;Come dimostrato nello scorso articolo per lo “Slider”, vediamo insieme la personalizzazione di un altro semplice controllo il “button”. Uno degli elementi fondamentali che caratterizzerà le nostre applicazioni.&lt;BR&gt;Per semplificare ulteriormente la cosa, il buttone creato è veramente elementare e scarno. A mio avviso è importante capirne la logica e come in tutte le cose, una volta capite le basi, le cose più complesse vengono da se.&lt;BR&gt;&lt;BR&gt;&lt;IMG style="WIDTH: 308px; HEIGHT: 273px" title=Button_1 border=0 hspace=0 alt=Button_1 align=center src="http://0eyrnw.bay.livefilestore.com/y1pdCSjz5R-M_G_qznlGV0OrMtbRksc3qEBiTGBwxgkCP3RbXa_7Mrz_jjuclLysMZlHbD4XDVXmZBLVhsWLcIzmy1WP_7P4VNt/Button_0.jpg" width=308 height=273 mce_src="http://0eyrnw.bay.livefilestore.com/y1pdCSjz5R-M_G_qznlGV0OrMtbRksc3qEBiTGBwxgkCP3RbXa_7Mrz_jjuclLysMZlHbD4XDVXmZBLVhsWLcIzmy1WP_7P4VNt/Button_0.jpg"&gt;&lt;BR&gt;&amp;nbsp;Anche in questo caso, presupponiamo di avere come base alcuni semplici elementi grafici che caratterizzeranno il nostro bottone, il tutto contenuti all’interno di una “Grid”. &lt;/P&gt;
&lt;P&gt;&lt;IMG style="WIDTH: 416px; HEIGHT: 96px" title=Button_2 border=0 hspace=0 alt=Button_2 align=center src="http://0eyrnw.bay.livefilestore.com/y1pVpeS469iv7swLwJJ7KpJyBY1QvjjMKDM3Byst_MGvKM5iXFqbFkvwlk1DM96zQniMT2qT9n764pfGB__rh6RTRJBhgPtHNTW/Button_01.jpg" width=416 height=96 mce_src="http://0eyrnw.bay.livefilestore.com/y1pVpeS469iv7swLwJJ7KpJyBY1QvjjMKDM3Byst_MGvKM5iXFqbFkvwlk1DM96zQniMT2qT9n764pfGB__rh6RTRJBhgPtHNTW/Button_01.jpg"&gt;&lt;BR&gt;&lt;BR&gt;In questo caso, questi elementi grafici rappresenteranno lo stato “Normal” del nostro button, attualmente sono &lt;STRONG&gt;semplici elementi grafici ed anche in questo caso, per prima cosa bisognerà convertirli in controllo “button”.&lt;/STRONG&gt; Attiviamo e selezioniamo la “Grid” contenitore, tasto destro del mouse, &lt;STRONG&gt;“Make into control…”&amp;nbsp; e trasformiamo in “Button”.&lt;/STRONG&gt; Una soluzione alternativa poteva essere quella di partire dal Button standard disponibile all’interno dell’Asset Library di Blend 3 e da li editarlo come “Edit a copy…” del bottone di base.&lt;BR&gt;Facendo questa operazione andremo a definire lo “Styles” che conterrà a sua volta il “ControlTemplate” con gli elementi grafici del button al suo interno e i vari “states” che potranno essere gestiti all’interno del “Visual State Manager”. Evidenziato nell’immagine qui sotto, il codice XAML che definisce il “ControlTemplate” all’interno dello Style del “Button”.&lt;/P&gt;
&lt;P&gt;&lt;IMG style="WIDTH: 500px; HEIGHT: 312px" title=Button_3 border=0 hspace=0 alt=Button_3 align=center src="http://0eyrnw.bay.livefilestore.com/y1pMYGsQ8ViVtVfjM0lrPLiaPerslUNCAhErFi7WMJczOrNg9dtRgB9nvdLHf3RGjA3HE3bp2_cIIm7NdqJDQXwgIsmPPBjidtI/Button_1.jpg" width=500 height=312 mce_src="http://0eyrnw.bay.livefilestore.com/y1pMYGsQ8ViVtVfjM0lrPLiaPerslUNCAhErFi7WMJczOrNg9dtRgB9nvdLHf3RGjA3HE3bp2_cIIm7NdqJDQXwgIsmPPBjidtI/Button_1.jpg"&gt;&lt;BR&gt;&lt;BR&gt;&lt;STRONG&gt;Come potete notare dal ObjectTree, il “TextBlock” non è più contenuto nel “ControlTemplate”, ma è stato sotituito da un nuovo elemento “ContentPresenter&lt;/STRONG&gt;”, in cui se andate a vedere le sue proprietà a come “Content=OK” ed eredita le stesse proprietà del TextBlock.&lt;/P&gt;
&lt;P&gt;A questo punto, per replicare gli “States” che sono stati definiti e trovate raffigurati nella prima immagine, accedete al “Visual State Manager” posizionatevi sul Rectangle e modificate il colore di background con un grigio più chiaro interagendo dal pannello proprietà.&lt;BR&gt;Per replicare lo stesso colore di sfondo [background], anche allo States di “Pressed”, &lt;STRONG&gt;Blend 3 introduce una nuova funzionalità che vi permette di copiare rapidamente le proprietà da uno stato all’altro.&lt;BR&gt;Banalmente, con MouseOver ancora attivo, tasto destro del mouse e selezionate “Copy State To &amp;gt; Pressed”. Il comando è applicabile anche dal menù “Tools”.&lt;BR&gt;&lt;/STRONG&gt;&lt;BR&gt;&lt;IMG style="WIDTH: 483px; HEIGHT: 166px" title="Button 4" border=0 hspace=0 alt="Button 4" align=center src="http://0eyrnw.bay.livefilestore.com/y1pxUoV8Zh2rZhm4OcVzBdMwynfpXApNHtYjFy1QwdmKd_SXLmjuyNM4NpIsXV8iNdhn9Q6J5SYe_a9DVf9K0iCPQ/Button_2.jpg" width=483 height=166 mce_src="http://0eyrnw.bay.livefilestore.com/y1pxUoV8Zh2rZhm4OcVzBdMwynfpXApNHtYjFy1QwdmKd_SXLmjuyNM4NpIsXV8iNdhn9Q6J5SYe_a9DVf9K0iCPQ/Button_2.jpg"&gt;&lt;BR&gt;&amp;nbsp;&lt;BR&gt;A questo punto spostiamoci sullo States Pressed per spostare leggermente il testo, selezioniamo l’elemento “ContentPresenter” e modifichiamo la proprietà “RenderTransform.Translate.X and .Y a “1”.&lt;BR&gt;Procediamo con lo stato “Disabled”, selezioniamo il rettangolo e togliamoli lo sfonfo “Fill” rendendolo trasparente e modifichiamo le proprietà dello Stroke a grigio chiaro.&lt;/P&gt;
&lt;P&gt;Per rendere il più reale possibile gli effetti di transizione da uno stato all’altro, vi ricordo che è possibile gestire le transizioni dal VisualStateManager, banalmente posizioniamoci su “Normal”, clicchiamo sul button per aggiungere e definire una nuova “Transition” e selezioniamo “Normal &amp;gt; MouseOver”.&lt;/P&gt;
&lt;P&gt;&lt;IMG style="WIDTH: 413px; HEIGHT: 125px" title=Button5 border=0 hspace=0 alt=Button5 align=center src="http://0eyrnw.bay.livefilestore.com/y1pdui_1GGJ04YTZH0sV6LFHGbaA5lGZcrgE0xhn8wCrYFRcFBBBhlQnIoNztVzwQJ51xbYTniFkaspTBzntnXdAw/Button_3.jpg" width=413 height=125 mce_src="http://0eyrnw.bay.livefilestore.com/y1pdui_1GGJ04YTZH0sV6LFHGbaA5lGZcrgE0xhn8wCrYFRcFBBBhlQnIoNztVzwQJ51xbYTniFkaspTBzntnXdAw/Button_3.jpg"&gt;&lt;BR&gt;&lt;BR&gt;Impostiamo la duration a “0,2s”. In questo modo abbiamo applicato un effetto di transizione, attualmente tutti gli altri passaggi da uno stato all’altro avvengono istantaneamente ma come potete intuire allo stesso modo avrei potuto definire le diverse transizioni.&lt;/P&gt;
&lt;P&gt;Se notate in particolare la grafica del “button” sulla prima immagine, si è ipotizzato di far apparire una cornice azzurra quando il bottone si trova nello stato “Focused”. Il rettangolo non è attualmente presente begli elementi grafici di base contenuti nel nostro “button” nello “states” Normal. Bisognerà quindi procedere e crearlo al suo interno. Creare un nuovo oggetto all’interno di uno stato viene definito “drawing into state’” ciò sta a significare che l’oggetto sarà visibile solo nello stato in cui è definito. Questa funzionalità può essere molto utile anche per altri controlli.&lt;BR&gt;Selezioniamo quindi “Focused”, inseriamo un nuovo rettangolo (leggermente più piccolo) facendo doppio click sullo strumento rettangolo. A questo punto vogliamo modificare le dimensioni ed il riempimento del nuovo rettangolo ma in questo caso vogliamo effettuarle sullo “States Base”. Non possiamo attivare lo stato “Base” in quanto sullo stato “base” il rettangolo non è presente, a questo punto disattiviamo quindi la registrazione premendo o da tastiera [CTRL + R] o interagendo sull’icona riquadrata in rosso nell’immagine seguente. Modifichiamo quindi le proprietà di “Fill”, “Margin” e “Stroke” e applichiamo i margini arrotondati.&lt;/P&gt;
&lt;P mce_keep="true"&gt;&lt;IMG style="WIDTH: 291px; HEIGHT: 59px" title=Button6 border=0 hspace=0 alt=Button6 align=center src="http://0eyrnw.bay.livefilestore.com/y1pG_rISTSWSVus5zkOZGun5rLM9jSd5ApeJBGS1W8ir9E8_MB3C9T938Xw49nuh5pK2IYYCaszBF-GHiV7sk_yew/Button_4.jpg" width=291 height=59 mce_src="http://0eyrnw.bay.livefilestore.com/y1pG_rISTSWSVus5zkOZGun5rLM9jSd5ApeJBGS1W8ir9E8_MB3C9T938Xw49nuh5pK2IYYCaszBF-GHiV7sk_yew/Button_4.jpg"&gt;&lt;/P&gt;
&lt;P&gt;Se volete creare il button leggermente più dinamico, potete inserire un’animazione “steady-state animation” nello stato “Focused”. Selezionate lo stato “Focused”, e cliccate sull’icona per attivare e gestire un’animazione all’interno dello stato (riquadro rosso). &lt;BR&gt;&amp;nbsp;&lt;BR&gt;&lt;IMG style="WIDTH: 303px; HEIGHT: 189px" title=Button6 border=0 hspace=0 alt=Button6 align=center src="http://0eyrnw.bay.livefilestore.com/y1p15KOSveckJnnJ2pOqsGmNl4L3MXchWLrOaE1OitjipJWMacLJMj_EAOmAoeg_fza3G9ivKZjrWdaIDUZYgBzeA/Button_5.jpg" width=303 height=189 mce_src="http://0eyrnw.bay.livefilestore.com/y1p15KOSveckJnnJ2pOqsGmNl4L3MXchWLrOaE1OitjipJWMacLJMj_EAOmAoeg_fza3G9ivKZjrWdaIDUZYgBzeA/Button_5.jpg"&gt;&lt;/P&gt;
&lt;P&gt;A lato del&amp;nbsp;Object Tree, vi apparirà per esteso la maschera di gestione delle “timeline” ed in questo modo potrete definire la vostra animazione con eventuali effetti di “easing in” e “easing out” da applicare ai “keyframe” che costituiscono l’animazione.&lt;BR&gt;&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9891474" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/designexperience/archive/tags/Tutorial+_2600_amp_3B00_+Webcast/default.aspx">Tutorial &amp;amp; Webcast</category><category domain="http://blogs.msdn.com/designexperience/archive/tags/Risorse+utili/default.aspx">Risorse utili</category><category domain="http://blogs.msdn.com/designexperience/archive/tags/Silverlight/default.aspx">Silverlight</category><category domain="http://blogs.msdn.com/designexperience/archive/tags/Expression+Blend/default.aspx">Expression Blend</category></item><item><title>Come personalizzare un controllo in Silverlight 3 attraverso gli "styles" ed i "control template"</title><link>http://blogs.msdn.com/designexperience/archive/2009/09/04/come-creare-un-controllo-custom-in-silverlight-3-attraverso-gli-styles-ed-i-control-template.aspx</link><pubDate>Fri, 04 Sep 2009 13:44:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9891321</guid><dc:creator>Roberto Cavallini</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/designexperience/comments/9891321.aspx</comments><wfw:commentRss>http://blogs.msdn.com/designexperience/commentrss.aspx?PostID=9891321</wfw:commentRss><description>&lt;P&gt;Come ho già più volte avuto modo di sottolineare, a mio avviso, una delle potenzialità di XAML sia in WPF sia per applicazioni Silverlight è &lt;STRONG&gt;la possibilità di andare a creare degli elementi/controlli dell'interfaccia grafica personalizzandone il comportamento e l'interazione attraverso gli "stili e i template".&lt;/STRONG&gt; Molto simili ai CSS disponibili nell'HTML, ma per certi versi molto più potenti, permettono di definire l'aspetto grafico e il comportamento dei controlli che caratterizzano l'interfaccia dell'applicazione. Come nei CSS, una volta definito&lt;STRONG&gt; gli stili che possono essere interni allo XAML dell'interfaccia o gestiti esternamente attraverso uno XAML esterno - "resource dictionaries"&lt;/STRONG&gt; (funzionalità già disponibile in WPF e recentemente introdotto nella nuova versione di Silverlight) è possibile applicare gli stili ai controlli dell'interfaccia. Banalizzando molto la cosa, a tutti i "button" dell'applicazione è possibile associare lo stesso stile in modo che l'applicazione abbia un aspetto grafico omogeneo, gestendo il tutto con&amp;nbsp;dei "resource dictionaries" esterni, è possibile cambiare l'aspetto e l'interazione dell'applicazione facendo caricare dei "resource dictionaries" diversi.&lt;BR&gt;&lt;BR&gt;&lt;STRONG&gt;Per definire e modificare gli stili, il modo più semplice ed immediato è quello di utilizzare Expression&amp;nbsp;Blend che permette in modo rapido ed efficace di creare, modificare e gestire gli stili direttamente in&amp;nbsp;"design mode".&lt;/STRONG&gt; Le modalità di operare possono essere sostanzialmente due:&lt;BR&gt;&lt;BR&gt;- partire da un controllo di base disponibile nell'Asset Library di Blend&amp;nbsp;(button, check box, slider, etc,) &lt;STRONG&gt;duplicare il "Control Template" banalmente facendo tasto destro del mouse sopra il controllo sull'area di lavoro "Edit a Copy"&lt;/STRONG&gt; ed operando in questo modo è possibile definire un nuovo stile che è possibile poi riassociare a tutti&amp;nbsp;i controlli della stessa tipologia all'interno della pagina. Chiaramente all'interno dello stile è possibile poi definire la grafica e il comportamento (attraverso l'uso degli "State" nel "Visual State Manager");&lt;BR&gt;&lt;BR&gt;- una volta creati gli elementi grafici che caratterizzeranno il controllo,&amp;nbsp;&lt;STRONG&gt;trasformare il&amp;nbsp;tutto in "controllo" attraverso il comando "Make Into Control..."&lt;/STRONG&gt; ed in questo caso&amp;nbsp;definire la tipologia del controllo attraverso lo stile. Per attivare il comando "Make Into Control..." è possibile procedere o facendo direttamente ancora una volta tasto destro e selezionando dal menù a tendina o dal menu "Tools". (Questa nuova funzionalità è disponibilie all'interno della nuova versione di Expression Blend 3 che anche&amp;nbsp;sotto questo punto di vista introduce una serie di novità molto interessanti).&lt;BR&gt;&lt;BR&gt;Come ho già detto, il concetto di stili e template sono una dei concetti base di XAML sia in WPF sia in Silverlight e sono già disponibili dalle versioni precedenti; con la nuova versione di Expression Blend 3 è migliorata notevolmente la gestione e definizione degli stili e dei template dal punto di vista grafico rendendo la cosa molto più semplice ed intuitiva.&lt;BR&gt;&lt;BR&gt;Vediamo quindi insieme come è possibile definire uno stile per un semplice controllo quale potrebbe essere uno "Slider" partendo dagli elementi&amp;nbsp;grafici in un'applicazione Silverlight 3.&lt;BR&gt;Lo step zero della nostra demo, è quello di importare tutti gli elementi che caratterizzeranno il nostro controllo all'interno del progetto Silverlight in Blend. &lt;STRONG&gt;La grafica degli elementi è stata&amp;nbsp;definita e disegnata in precedenza attraverso&amp;nbsp;Illustrator. Sfruttando quindi una delle nuove funzionalità di Blend 3 è possibile&amp;nbsp;importare e convertire tutti gli elementi grafici in XAML all'interno di Blend.&lt;/STRONG&gt; Un paio di consigli, trattandosi di uno "Slider", concettualmente il controllo dovrebbe&amp;nbsp;essere strutturato in due parti: un elemento "Thumb" con cui l'utente&amp;nbsp;potrà interagire e un elemento "Track" su cui&amp;nbsp;il "Thumb" dovrà scorrere.&amp;nbsp;Chiaramente i due&amp;nbsp;elementi potranno essere composti a loro volta da più elementi grafici ma il consiglio che vi do è quello di raggruppare e strutturare&amp;nbsp;i "sottoinsieme" grafici di ogni elemento il un controllo di layout contenitore che potrebbere essere&amp;nbsp;banalmente una "Grid" e un "Canvas". Il secondo accorgimento è quello poi di raggruppare i due elementi in un altro contenitore esterno che contenga entrambi i due elementi "Thumb e Track", in questo caso&amp;nbsp;specifico per lo "Slider"&amp;nbsp;bisogna utilizzare un'altra&amp;nbsp;"Grid" che come vedremo andra poi strutturata e suddivisa in righe e colonne. Premetto nel nostro esempio andremo a realizzare uno&amp;nbsp;"Slider" ad orientamento&amp;nbsp;"Horizontal" e che quindi andrà utilizzato in posizione orizzontale. Vi riporto&amp;nbsp;nell'immagine qui sotto&amp;nbsp;un esempio molto semplice di grafica, mentre &lt;A title="Esempio Slider Custom" href="http://roberto.design.members.winisp.net/BlendSample/Silverlight_CustomSliderSite/default.html" target=_blank mce_href="http://roberto.design.members.winisp.net/BlendSample/Silverlight_CustomSliderSite/default.html"&gt;&lt;STRONG&gt;a questo link trovate un esempio leggermente più complesso&lt;/STRONG&gt;&lt;/A&gt;, che sarete poi in grado di downlodare, in cui &lt;STRONG&gt;per simulare il comportamento dello Slider è stato applicata una funzione di&amp;nbsp;"Data Binding" con un effetto "Blur"&lt;/STRONG&gt; a sua volta applicato ad un'immagine presente all'interno dell'interfaccia.&amp;nbsp;&lt;BR&gt;&lt;IMG style="WIDTH: 500px; HEIGHT: 80px" title="Slider SL3" border=0 hspace=0 alt="Slider SL3" align=center src="http://0eyrnw.bay.livefilestore.com/y1pEIvAsxnsI0uIT1rlZetJcf5Am7wJHzVIpCCJhKsElLYBZ2sBY7XXaDGkjcwhRQlMek1wLVw8w_rWZQDrYw2YFZFCk29ZdTTd/slider_sl3.jpg" width=500 height=80 mce_src="http://0eyrnw.bay.livefilestore.com/y1pEIvAsxnsI0uIT1rlZetJcf5Am7wJHzVIpCCJhKsElLYBZ2sBY7XXaDGkjcwhRQlMek1wLVw8w_rWZQDrYw2YFZFCk29ZdTTd/slider_sl3.jpg"&gt;&lt;BR&gt;Next step, procediamo a convertire la "Grid" contenitore in "controllo", come vi ho già anticipato attraverso il comando "&lt;STRONG&gt;Make Into Control...&amp;gt;Slider&lt;/STRONG&gt;" ed in questo modo andremo a definire lo Stile. Per l'esempio possiamo tranquillamente definirlo nel "documento" e non come "resource dictionaries" - vedi opzioni in basso sulla maschera di definizione dello stile.&lt;BR&gt;&lt;BR&gt;&lt;IMG style="WIDTH: 506px; HEIGHT: 299px" title="Make into a control..." border=0 hspace=0 alt="Make into a control..." align=center src="http://0eyrnw.bay.livefilestore.com/y1pj12ljPwehZNIE4-haxiNZO8EhjOLBn3H-XCfA0z4ctjBteIzjJlwsMzHw0vqxAm09f8W_fj4f9e0rldvrXNxg8lVxQivXsld/make_into_control.jpg" width=506 height=299 mce_src="http://0eyrnw.bay.livefilestore.com/y1pj12ljPwehZNIE4-haxiNZO8EhjOLBn3H-XCfA0z4ctjBteIzjJlwsMzHw0vqxAm09f8W_fj4f9e0rldvrXNxg8lVxQivXsld/make_into_control.jpg"&gt;&lt;/P&gt;
&lt;P&gt;Procediamo quindi e suddividiamo la "Grid" in 3 Colonne come raffigurato nell'immagine qui sotto,&amp;nbsp;idealmente la suddivisione dovrebbe essere in coincidenza con l'elemento "Thumb". Un'altra cosa da fare attenzione,&amp;nbsp;in questo istante ci troviamo all'interno del "Control Template" del controllo che è definito all'interno dello "Stile". Nel "object tree" dell'applicazione dovreste avere indicato il nome dello stile che avete appena definito.&lt;/P&gt;
&lt;P&gt;&lt;IMG style="WIDTH: 196px; HEIGHT: 72px" title="Slider Column" border=0 hspace=0 alt="Slider Column" align=center src="http://0eyrnw.bay.livefilestore.com/y1pWWUQTCvk_m0G4LzC648QOkZJ7GLNxhfwGOQrFRQmJD8YCzGU4h3YOIzzlTHbXD_EUbzkkDf3hC8ZoR9vsAD_20bQ8xBzbbvg/slider_sl31.jpg" width=196 height=72 mce_src="http://0eyrnw.bay.livefilestore.com/y1pWWUQTCvk_m0G4LzC648QOkZJ7GLNxhfwGOQrFRQmJD8YCzGU4h3YOIzzlTHbXD_EUbzkkDf3hC8ZoR9vsAD_20bQ8xBzbbvg/slider_sl31.jpg"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Se avete operato in modo corretto, l'elemento "Track" dovrebbe trovarsi in comune sulle 3 colonne e nelle proprietà avere quindi un "ColumnSpan=3", mentre il Thumb&amp;nbsp; dovrebbe essere posizionato nella "Column=1": A questo punto, sempre all'interno dello stile bisogna procedere e convertire la Grid che contiene i due elementi "Track e Thumb" in "HorizontalTemplate". Operiamo in questo modo, sul VieeTree, attivate e selezionate la "Grid", fate tasto destro del mouse sopra la "Grid" e selezionate semplicemente "&lt;STRONG&gt;Make Into Part of Slider &amp;gt; HorizontalTemplate&lt;/STRONG&gt;".&lt;BR&gt;&lt;BR&gt;&lt;IMG style="WIDTH: 360px; HEIGHT: 148px" title="Slider Silverlight 3 " border=0 hspace=0 alt="Slider Silverlight 3 " align=center src="http://0eyrnw.bay.livefilestore.com/y1pR719WKNxS-TYCwPcCNMGkKWt6L2SBWuvc2rMnXjlR88TrdDlhKCuryt49korY_Jpt3aH2bAqsHK7cCouJWAAlw/slider_sl32.jpg" width=360 height=148 mce_src="http://0eyrnw.bay.livefilestore.com/y1pR719WKNxS-TYCwPcCNMGkKWt6L2SBWuvc2rMnXjlR88TrdDlhKCuryt49korY_Jpt3aH2bAqsHK7cCouJWAAlw/slider_sl32.jpg"&gt;&lt;/P&gt;
&lt;P&gt;A questo punto selezionate "Thumb" e con lo stesso criterio di sopra applicate "&lt;STRONG&gt;Make Into Part of Slider &amp;gt; HorizontalThumb&lt;/STRONG&gt;", in questo modo state definendo lo stile ed il control template da applicare all'elemento "Thumb", temporaneamente usciamo da questo stile interagendo con il comando "Scope up" sul&amp;nbsp;Object Tree dell'applicazione e facciamo il "reset" dei margini dal pannello proprietà.&lt;BR&gt;&lt;BR&gt;&lt;IMG style="WIDTH: 298px; HEIGHT: 155px" title="Slider Silverlight 3" border=0 hspace=0 alt="Slider Silverlight 3" align=center src="http://0eyrnw.bay.livefilestore.com/y1pzLaava6DYHobhKp-l4zvpdBLn1du3ac5VMZXDJWVn2_S4FX1Pk3VmGZpRCB8S2S1u9OmFsgcF4yTK3SfO2SlyAtir8An28Dz/slider_sl33.jpg" width=298 height=155 mce_src="http://0eyrnw.bay.livefilestore.com/y1pzLaava6DYHobhKp-l4zvpdBLn1du3ac5VMZXDJWVn2_S4FX1Pk3VmGZpRCB8S2S1u9OmFsgcF4yTK3SfO2SlyAtir8An28Dz/slider_sl33.jpg"&gt;&lt;/P&gt;
&lt;P&gt;Selezioniamo quindi "HorizontalTemplate" nel&amp;nbsp;object tree, dal pannello "Parts", novità di Blend 3 se non vi appare di default potete attivarlo interagendo all'interno del menù Windows, &lt;STRONG&gt;fate doppio click su "HorizontalTrackLargeChangeDecreaseRepeatButton" ed impostate l'opacity a "0" sul pannello delle proprietà&lt;/STRONG&gt;. Riselezionate "HorizontalTemplate" e fate la stessa operazione anche per "HorizontalTrackLargeChangeIncreaseRepeatButton" impostando l'opacity a "0". Abbiamo praticamente concluso, modifichiamo a questo punto le dimensioni delle 3 colonne della Grid di "HorizontalTemplate" in "Auto, Auto e Star".&lt;BR&gt;&lt;IMG style="WIDTH: 209px; HEIGHT: 81px" title="Slider Silverlight 3" border=0 hspace=0 alt="Slider Silverlight 3" align=center src="http://0eyrnw.bay.livefilestore.com/y1pAP7qlI7HPYFpVJ5lDbgMoXu8y17ozxyj0wAXb7Sr2pQuv3ExOA1muBoie3CXxbmF85mA4xp9ndINytN1W5wG6aFQZ-9ljevk/slider_sl34.jpg" width=209 height=81 mce_src="http://0eyrnw.bay.livefilestore.com/y1pAP7qlI7HPYFpVJ5lDbgMoXu8y17ozxyj0wAXb7Sr2pQuv3ExOA1muBoie3CXxbmF85mA4xp9ndINytN1W5wG6aFQZ-9ljevk/slider_sl34.jpg"&gt;&lt;BR&gt;&lt;STRONG&gt;Lanciamo quindi la Build dell'applicazione, facendo "F5" da tastiera ed il tutto verrà caricato all'interno della finestra browser di "test".&lt;/STRONG&gt; Dietro le quinte Blend 3, compila anche il progetto creando il file "XAP" che conterrà le DLL e lo XAML del progetto e la pagina HTML che vi permette di testare l'applicazione.&lt;BR&gt;&lt;BR&gt;&lt;A title="Custom Slider in Silverlight 3" href="http://cid-11d88d4ffbc7b2b0.skydrive.live.com/self.aspx/Esempi%20Blend%203%20-%20SketchFlow/Silverlight%7C_CustomSlider.zip" target=_blank mce_href="http://cid-11d88d4ffbc7b2b0.skydrive.live.com/self.aspx/Esempi%20Blend%203%20-%20SketchFlow/Silverlight%7C_CustomSlider.zip"&gt;&lt;STRONG&gt;Nell'esempio completo che trovate disponibile a questo link&lt;/STRONG&gt;&lt;/A&gt;, è stato inserito anche un "data binding" sull'effetto "blur" applicato all'immagine impiegata nell'esempio. Se siete interessati, nel prossimo post, descriverò come applicare questa funzionalità di "data binding" attraverso Blend 3.&lt;BR&gt;&lt;BR&gt;&lt;IFRAME style="BORDER-BOTTOM: #dde5e9 1px solid; BORDER-LEFT: #dde5e9 1px solid; PADDING-BOTTOM: 0px; BACKGROUND-COLOR: #ffffff; MARGIN: 3px; PADDING-LEFT: 0px; WIDTH: 240px; PADDING-RIGHT: 0px; HEIGHT: 66px; BORDER-TOP: #dde5e9 1px solid; BORDER-RIGHT: #dde5e9 1px solid; PADDING-TOP: 0px" marginHeight=0 src="http://cid-11d88d4ffbc7b2b0.skydrive.live.com/embedrowdetail.aspx/Esempi%20Blend%203%20-%20SketchFlow/Silverlight%7C_CustomSlider.zip" frameBorder=0 marginWidth=0 scrolling=no&gt;&lt;/IFRAME&gt;&lt;BR&gt;&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9891321" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/designexperience/archive/tags/Tutorial+_2600_amp_3B00_+Webcast/default.aspx">Tutorial &amp;amp; Webcast</category><category domain="http://blogs.msdn.com/designexperience/archive/tags/Risorse+utili/default.aspx">Risorse utili</category><category domain="http://blogs.msdn.com/designexperience/archive/tags/Silverlight/default.aspx">Silverlight</category><category domain="http://blogs.msdn.com/designexperience/archive/tags/Expression+Blend/default.aspx">Expression Blend</category></item><item><title>Introduzione a XAML: percorso formativo</title><link>http://blogs.msdn.com/designexperience/archive/2009/09/03/introduzione-a-xaml-percorso-formativo.aspx</link><pubDate>Thu, 03 Sep 2009 16:13:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9890874</guid><dc:creator>Roberto Cavallini</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/designexperience/comments/9890874.aspx</comments><wfw:commentRss>http://blogs.msdn.com/designexperience/commentrss.aspx?PostID=9890874</wfw:commentRss><description>&lt;P&gt;&lt;STRONG&gt;&lt;IMG style="WIDTH: 320px; HEIGHT: 243px" title="Introduction to XAML" border=0 hspace=4 alt="Introduction to XAML" align=right src="http://0eyrnw.bay.livefilestore.com/y1pfkM_8MhskawZQOuVcEfNC-lGFyWXVow7h-_CsGP6EBtJGCez5FbwQu4OqEn4eKrYfDiYNSrte6M_I5OQiFmu5X3HODBiu4h3/introduction_to_XAML.jpg" width=320 height=243 mce_src="http://0eyrnw.bay.livefilestore.com/y1pfkM_8MhskawZQOuVcEfNC-lGFyWXVow7h-_CsGP6EBtJGCez5FbwQu4OqEn4eKrYfDiYNSrte6M_I5OQiFmu5X3HODBiu4h3/introduction_to_XAML.jpg"&gt;&lt;A title="Introduction to XAML" href="http://www.microsoft.com/learning/elearning/course/6375.mspx" target=_blank mce_href="http://www.microsoft.com/learning/elearning/course/6375.mspx"&gt;"Introduction to XAML"&lt;/A&gt;&lt;/STRONG&gt; vi segnalo&amp;nbsp;un interessante percorso formativo specifico su XAML (eXstensible Application Markup Language), il linguaggio di markup dichiarativo di derivazione dall'XML alla base delle&amp;nbsp;applicazioni Windows Presentation Foundation e Silverlight.&amp;nbsp;&lt;STRONG&gt;Attraverso lo XAML è possibile definire i controlli, l'albero grafico, l'interazione e le animazioni delle applicazioni mantenendo&amp;nbsp;separata l'interfaccia grafica dal "code behind" dell'applicazione&lt;/STRONG&gt;. In questo modo, designer e developer possono lavorare in modo sinergico sullo stesso progetto con tool e strumenti specifici per&amp;nbsp;i propri compiti e professionalità: Expression Studio 3 e Visual Studio 2008.&amp;nbsp;&amp;nbsp;&lt;BR&gt;&lt;BR&gt;Il taglio del corso è abbastanza tecnico, ma ritengo possa essere d'interesse anche ad un target più allargato. Potete accedere direttamente al corso&lt;A title="Introduction to XAML" href="http://www.microsoft.com/learning/elearning/course/6375.mspx" target=_blank mce_href="http://www.microsoft.com/learning/elearning/course/6375.mspx"&gt;&lt;STRONG&gt; da questo link&lt;/STRONG&gt;&lt;/A&gt;, è richiesta la registrazione attraverso un account Windows Live.&lt;BR&gt;&lt;BR&gt;Vi ricordo inoltre che sul nostro portale video &lt;A title="Microsoft BE IT" href="http://www.microsoft.com/italy/beit/Generic.aspx?search=Silverlight&amp;amp;type=-1&amp;amp;audience=-1&amp;amp;userlevel=-1&amp;amp;product=-1&amp;amp;authorName=-1" target=_blank mce_href="http://www.microsoft.com/italy/beit/Generic.aspx?search=Silverlight&amp;amp;type=-1&amp;amp;audience=-1&amp;amp;userlevel=-1&amp;amp;product=-1&amp;amp;authorName=-1"&gt;BE IT&lt;/A&gt;, sono disponibili una serie di webcast specifici su Silverlight e sullo sviluppo Web.&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9890874" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/designexperience/archive/tags/Windows+Presentation+Foundation/default.aspx">Windows Presentation Foundation</category><category domain="http://blogs.msdn.com/designexperience/archive/tags/Tutorial+_2600_amp_3B00_+Webcast/default.aspx">Tutorial &amp;amp; Webcast</category><category domain="http://blogs.msdn.com/designexperience/archive/tags/Risorse+utili/default.aspx">Risorse utili</category><category domain="http://blogs.msdn.com/designexperience/archive/tags/XAML/default.aspx">XAML</category></item><item><title>SketchFlow: behavior per la definizione e gestione di funzionalità di "Conditional Navigation" nei prototipi</title><link>http://blogs.msdn.com/designexperience/archive/2009/09/02/sketchflow-behavior-per-la-definizione-e-gestione-di-funzionalit-di-conditional-navigation-nei-prototipi.aspx</link><pubDate>Wed, 02 Sep 2009 19:17:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9890452</guid><dc:creator>Roberto Cavallini</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/designexperience/comments/9890452.aspx</comments><wfw:commentRss>http://blogs.msdn.com/designexperience/commentrss.aspx?PostID=9890452</wfw:commentRss><description>&lt;P&gt;Al rientro dalle vacanze e, credo anche voi come me, ormai a pieni ritmi con gli impegni di lavoro...Vi segnalo questi interessanti behavior che vi &lt;STRONG&gt;permettono di definire delle navigazioni condizionali all'interno di un'applicazione SketchFlow in Silverlight&lt;/STRONG&gt;. Mi spiego meglio, partiamo dal presupposto che il vostro prototipo di applicazione debba prevedere che a seconda di una specifica interazione dell'utente- banalmente preventiviamo come esempio l'attivazione di un check box - il comportamento di un bottone all'interno dell'applicazione debba variare.&lt;BR&gt;&lt;BR&gt;&lt;IMG style="WIDTH: 400px; HEIGHT: 272px" title="SketchFlow Player" border=0 hspace=0 alt="SketchFlow Player" align=center src="http://0eyrnw.bay.livefilestore.com/y1pUffGj4wzzSxBCPfDcYL414XgjKtQ_cR-oOJntiRCQSyDEIH80uw6f3ZdJEUfplQALXnu7EQG6o-ENMmcGxYUJNzF9pm3_S4r/SketchFlowConditionalNav.jpg" width=400 height=272 mce_src="http://0eyrnw.bay.livefilestore.com/y1pUffGj4wzzSxBCPfDcYL414XgjKtQ_cR-oOJntiRCQSyDEIH80uw6f3ZdJEUfplQALXnu7EQG6o-ENMmcGxYUJNzF9pm3_S4r/SketchFlowConditionalNav.jpg"&gt;&lt;BR&gt;&lt;BR&gt;Semplificando ulteriormente la cosa, il comportamento del bottone "A" permetterà di navigare di deafult su una schermata chiamatola per ipotesi "Screen 2", mentre se l'utente interagisce con l'applicazione attivndo un&amp;nbsp;check box a questo punto il comportamento del bottone varierà e l'utente&amp;nbsp;potrà&amp;nbsp;accedere in&amp;nbsp;un'altra schermata "Screen 3".&amp;nbsp;E' molto più semplice descriverla con un esempio che raccontarla.&lt;BR&gt;&lt;BR&gt;Ho pubblicato l'anteprima dell'applicazione online&amp;nbsp;che risulta fruibile attraverso uno&amp;nbsp;SketchFlow Player &lt;A title="SketchFlow Player" href="http://roberto.design.members.winisp.net/SketchFlow/Esempio_NavigationConditional/TestPage.html" target=_blank mce_href="http://roberto.design.members.winisp.net/SketchFlow/Esempio_NavigationConditional/TestPage.html"&gt;&lt;STRONG&gt;direttamente da questo "link"&lt;BR&gt;&lt;BR&gt;&lt;/STRONG&gt;&lt;/A&gt;&lt;IMG style="WIDTH: 260px; HEIGHT: 278px" title=AddBehavior border=0 hspace=0 alt=AddBehavior align=right src="http://0eyrnw.bay.livefilestore.com/y1pCciVKzI7fXNBGvIBLCNWzzecZZjIimI0mHUJgOyHtPvGe1yghv4ldxiP2-D_ZsoCiLoEWrLq_yYqzOAWFcinpmR32ph3Zzja/SketchFlowConditionalNavAddBehavior.jpg" width=260 height=278 mce_src="http://0eyrnw.bay.livefilestore.com/y1pCciVKzI7fXNBGvIBLCNWzzecZZjIimI0mHUJgOyHtPvGe1yghv4ldxiP2-D_ZsoCiLoEWrLq_yYqzOAWFcinpmR32ph3Zzja/SketchFlowConditionalNavAddBehavior.jpg"&gt;Ma vediamo velocemente come è possibile definire e gestire i behavior e questa funzionalità direttamente all'interno di Blend 3. Per prima cosa, una volta definito il progetto Silverlight SketchFlow &lt;STRONG&gt;è necessario importare i due behavior che permettono di&amp;nbsp;pilotare tale funzionalità che come potrete intuire non fanno parte degli asset disponibili di default offerti da Blend&lt;/STRONG&gt;. Procediamo quindi all'interno della maschera di gestione "Projects" e semplicemente facendo "tasto destro" selezioniamo l'opzione "Add Existing Item".&amp;nbsp;Vi verrà lanciata la classica finestra di&amp;nbsp;"File System" e selezioniamo quindi i due behavior che dovreste aver appena downlodato dai link qui sotto, lanciate quindi una build del progetto per creare le DLL (un semplice Ctrl+Shift+B da da tastiera) e a questo punto &lt;STRONG&gt;non vi resta altro che agganciare i behavior agli elementi che costituiranno l'interfaccia&lt;/STRONG&gt;. &lt;BR&gt;&lt;BR&gt;Ammetto, lo sto dando per scontato, ma come potrete intuire, prima di tutto è necessario creare le 3 schermate diverse che costituiscono il nostro semplice prototipo interagendo direttamente sul pannello&amp;nbsp;"SketchFlow Map".&amp;nbsp;Durante la sessione che ho tenuto lo scorso giugno a REMIX'09 dedicata a SketchFlow e Blend 3, ho spiegato in dettaglio alcune potenzialità offerte da SketchFlow, vi invito quindi a vedere la registrazione della sessione &lt;A title="Blend 3 &amp;amp; SketchFlow @ REMIX Italy" href="http://www.microsoft.com/italy/beit/Msdn.aspx?video=4efd9754-ad95-4962-b2c6-fdf3f37c415a" target=_blank mce_href="http://www.microsoft.com/italy/beit/Msdn.aspx?video=4efd9754-ad95-4962-b2c6-fdf3f37c415a"&gt;&lt;STRONG&gt;disponibile a questo link&lt;/STRONG&gt;&lt;/A&gt;.&amp;nbsp;&lt;BR&gt;&lt;BR&gt;Inseriti i semplici controlli che costituiscono l'interfaccia&amp;nbsp;sullo "Screen 1": un bottone, un check box e alcune label testuali, a questo punto non resta che agganciare i behabior hai controlli per gestirne l'interazione. Come potete vedere nell'immagine qui sotto che rappresenta il "view tree" della schermata "Screen 1",&lt;STRONG&gt; i behavior necessari in questo semplice esempio sono #2 e nello specifico: "SetNavigationTarget" applicato a due controlli (UserControl Principale e al Chech Box)e "ConditionalNavigation" in questo caso applicato al "button" inserito nell'applicazione.&lt;BR&gt;&lt;/STRONG&gt;In dettaglio,&amp;nbsp;il behavior "SetNavigationTarget" applicato allo "UserControl"&amp;nbsp;contenitore&amp;nbsp;avrà dichiarato nelle "properties" "EventName:Loaded" e come TargetScreen "Screen 2" mentre&amp;nbsp;l'altro "SetNavigationTarget" sarà applicato al "check box" con sulle properties EventName:"checked"&amp;nbsp;e TargetScreen:"Screen 3". Mentre al "button" sarà applicato il behavior "ConditionalNavigation" che permette di gestire lo "switch" a seconda se l'utente interagisce&amp;nbsp;e attiva il "check box".&lt;BR&gt;&lt;BR&gt;&lt;IMG style="WIDTH: 400px; HEIGHT: 204px" title=SketchFlowPlayer border=0 hspace=0 alt=SketchFlowPlayer align=center src="http://0eyrnw.bay.livefilestore.com/y1pcLZn9r3JuCfOca9dy10wVCYtTuAl52eOCY2MJyeAuRDJGc5dZ0CA3EkKiYqvU7UU_ROSpnvUGByIChzF501BpIffyNHq66EX/SketchFlowConditionalNavBehavior.jpg" width=400 height=204&gt;&lt;BR&gt;&lt;BR&gt;Vi riporto, qui sotto, i link al downlod dell'esempio sviluppato in Blend 3 (vi ricordo che si tratta di una funzionalità specifica per un progetto SketchFlow) ed il link ai singoli "behaviors" necessari per sviluppare questo esempio messi a disposizione da un mio collega di Corp - Christian Schormann. Vi segnalo inoltre che &lt;A title="Electric Beach Blog" href="http://electricbeach.org/?p=344" target=_blank mce_href="http://electricbeach.org/?p=344"&gt;&lt;STRONG&gt;sul suo blog&lt;/STRONG&gt;&lt;/A&gt; trovate anche la documentazione tecnica su come Christiann ha implementato questi behavior.&amp;nbsp;&lt;BR&gt;&lt;BR&gt;&lt;IFRAME style="BORDER-BOTTOM: #dde5e9 1px solid; BORDER-LEFT: #dde5e9 1px solid; PADDING-BOTTOM: 0px; BACKGROUND-COLOR: #ffffff; MARGIN: 3px; PADDING-LEFT: 0px; WIDTH: 240px; PADDING-RIGHT: 0px; HEIGHT: 66px; BORDER-TOP: #dde5e9 1px solid; BORDER-RIGHT: #dde5e9 1px solid; PADDING-TOP: 0px" marginHeight=0 src="http://cid-11d88d4ffbc7b2b0.skydrive.live.com/embedrowdetail.aspx/Esempi%20Blend%203%20-%20SketchFlow/ConditionalNavigation/Behavior%7C_Conditional%7C_Navigation.zip" frameBorder=0 marginWidth=0 scrolling=no mce_src="http://cid-11d88d4ffbc7b2b0.skydrive.live.com/embedrowdetail.aspx/Esempi%20Blend%203%20-%20SketchFlow/ConditionalNavigation/Behavior%7C_Conditional%7C_Navigation.zip"&gt;&lt;/IFRAME&gt;&lt;BR&gt;&lt;IFRAME style="BORDER-BOTTOM: #dde5e9 1px solid; BORDER-LEFT: #dde5e9 1px solid; PADDING-BOTTOM: 0px; BACKGROUND-COLOR: #ffffff; MARGIN: 3px; PADDING-LEFT: 0px; WIDTH: 240px; PADDING-RIGHT: 0px; HEIGHT: 66px; BORDER-TOP: #dde5e9 1px solid; BORDER-RIGHT: #dde5e9 1px solid; PADDING-TOP: 0px" marginHeight=0 src="http://cid-11d88d4ffbc7b2b0.skydrive.live.com/embedrowdetail.aspx/Esempi%20Blend%203%20-%20SketchFlow/ConditionalNavigation/Esempio%7C_NavigationConditional.zip" frameBorder=0 marginWidth=0 scrolling=no mce_src="http://cid-11d88d4ffbc7b2b0.skydrive.live.com/embedrowdetail.aspx/Esempi%20Blend%203%20-%20SketchFlow/ConditionalNavigation/Esempio%7C_NavigationConditional.zip"&gt;&lt;/IFRAME&gt;&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9890452" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/designexperience/archive/tags/Silverlight/default.aspx">Silverlight</category><category domain="http://blogs.msdn.com/designexperience/archive/tags/Expression+Blend/default.aspx">Expression Blend</category><category domain="http://blogs.msdn.com/designexperience/archive/tags/SketchFlow/default.aspx">SketchFlow</category><category domain="http://blogs.msdn.com/designexperience/archive/tags/Prototipi+dinamici+interattivi/default.aspx">Prototipi dinamici interattivi</category><category domain="http://blogs.msdn.com/designexperience/archive/tags/Prototyping/default.aspx">Prototyping</category></item><item><title>Blog DesignExperience: new look &amp; new vision!</title><link>http://blogs.msdn.com/designexperience/archive/2009/08/26/blog-designexperience-new-look-new-vision.aspx</link><pubDate>Wed, 26 Aug 2009 19:52:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9885582</guid><dc:creator>Roberto Cavallini</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/designexperience/comments/9885582.aspx</comments><wfw:commentRss>http://blogs.msdn.com/designexperience/commentrss.aspx?PostID=9885582</wfw:commentRss><description>&lt;P&gt;&lt;IMG style="WIDTH: 200px; HEIGHT: 200px" title="Blog Experience" border=0 hspace=4 alt="Blog Experience" align=right src="http://0eyrnw.bay.livefilestore.com/y1pIzg1kCvwUJDqbYmwSfwxsG6pWCZcVAZ-i5sQLiX8Lv-xQFBCHFyrobZh0ij62gdoO0jLBjFUErvjSnMQ64k6OtyPE-5iIEYU/blogexperince.jpg" width=200 height=200 mce_src="http://0eyrnw.bay.livefilestore.com/y1pIzg1kCvwUJDqbYmwSfwxsG6pWCZcVAZ-i5sQLiX8Lv-xQFBCHFyrobZh0ij62gdoO0jLBjFUErvjSnMQ64k6OtyPE-5iIEYU/blogexperince.jpg"&gt;Al rientro delle vacanze estive, ho voluto dare una veloce rispolverata anche al mio blog ;) Dal mio&amp;nbsp;primo giorno&amp;nbsp;in Microsoft, che risale ormai a circa 2 anni fa, è rimasto praticamente uguale.&lt;BR&gt;&lt;BR&gt;Un po' di novità sia dal punto di vista estetico sia dal punto di vista funzionale, nell'ottica di migliorarne la navigazione e la fruizione dei contenuti raccolti.&lt;BR&gt;Nel corso di questo nuovo anno, cercherò di dedicare ancora più tempo alle attività online per fornirvi contenuti e materiali&amp;nbsp;stimolanti.&lt;BR&gt;&lt;BR&gt;Chi meglio di voi, miei lettori può avere qualche suggerimento? &lt;BR&gt;&lt;BR&gt;Mi piacerebbe creare un filo conduttore diretto con tutti voi, per cercare di offrirvi sempre più dei contenuti in linea con le vostre aspettative.&lt;BR&gt;Tutorial, tip&amp;amp;tricks, risorse, materiali,esempi...libero sfogo alla vostra creatività!&lt;BR&gt;Avete dei vostri progetti da segnalarmi? Idee e discussioni da condividere con tutti gli altri lettori?&lt;BR&gt;&lt;BR&gt;Vi invito a&amp;nbsp;postare qui sotto&amp;nbsp;i vostri commenti.&lt;/P&gt;
&lt;P&gt;A presto!&lt;BR&gt;\\ Roberto&lt;BR&gt;&lt;BR&gt;&amp;nbsp;&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9885582" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/designexperience/archive/tags/News+_2600_amp_3B00_+Eventi/default.aspx">News &amp;amp; Eventi</category></item><item><title>"Expression Blend Sample" disponibili nella Community Expression</title><link>http://blogs.msdn.com/designexperience/archive/2009/08/26/expression-blend-sample-disponibili-nella-community-expression.aspx</link><pubDate>Wed, 26 Aug 2009 17:29:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9885384</guid><dc:creator>Roberto Cavallini</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/designexperience/comments/9885384.aspx</comments><wfw:commentRss>http://blogs.msdn.com/designexperience/commentrss.aspx?PostID=9885384</wfw:commentRss><description>&lt;IMG style="WIDTH: 279px; HEIGHT: 291px" title="Expression Community" border=0 hspace=4 alt="Expression Community" align=left src="http://0eyrnw.bay.livefilestore.com/y1p1WnZOJJ9d9ptjMbom9cxLc_o0FIgoMJpnafrEWW0buTxNBN-mIuQgZyDI0a-t2oR1fenkx7O7tMnG5VoaWBlazgngDr_Je9c/ExpressionCommunityGallery.jpg" width=279 height=291 mce_src="http://0eyrnw.bay.livefilestore.com/y1p1WnZOJJ9d9ptjMbom9cxLc_o0FIgoMJpnafrEWW0buTxNBN-mIuQgZyDI0a-t2oR1fenkx7O7tMnG5VoaWBlazgngDr_Je9c/ExpressionCommunityGallery.jpg"&gt;Buon rientro a tutti!&lt;BR&gt;Spero che anche voi abbiate avuto modo di riposarvi e ricaricare un po' le pile...pronti per le nuove "avventure" autunnali ;)&lt;BR&gt;A poche ore dal rientro in&amp;nbsp;ufficio, devo dire che queste vacanze hanno portato una serie di interessanti novità che credo valga la pena&amp;nbsp;riassumervi brevemente.&lt;BR&gt;&lt;BR&gt;Per prima cosa vi segnalo che sulla &lt;A title="Expression Official Community" href="http://expression.microsoft.com/" target=_blank mce_href="http://expression.microsoft.com"&gt;Community ufficiale dei prodotti Expression&lt;/A&gt; sono stati &lt;STRONG&gt;resi disponibili i progetti ed il codice sorgente degli esempi di&amp;nbsp;Blend.&lt;/STRONG&gt;&lt;BR&gt;Direttamente &lt;A title="Expression Blend Sample Gallery" href="http://gallery.expression.microsoft.com/en-us/site/search?f%5B0%5D.Type=Tag&amp;amp;f%5B0%5D.Value=Blend%20Sample" target=_blank mce_href="http://gallery.expression.microsoft.com/en-us/site/search?f%5B0%5D.Type=Tag&amp;amp;f%5B0%5D.Value=Blend%20Sample"&gt;da questo link&lt;/A&gt;, potrete accedere alla Gallery della community e procedere con il download degli esempi.&lt;BR&gt;Attualmente non sono ancora disponibili i primi esempi che erano stati distribuiti in pacchetto con la prima versione di "Expression Interactive Designer", vi invito quindi a visitare periodicamente la gallery in modo da trovare i vari aggiornamenti.&lt;BR&gt;&lt;BR&gt;&lt;STRONG&gt;La gran parte di questi esempi, hanno una caratteristica comune, sono state realizzati dal mio collega Celso Gomes&lt;/STRONG&gt;; tra l'altro &lt;STRONG&gt;autore del portale &lt;/STRONG&gt;&lt;A title="Nibbles Tutorial" href="http://www.nibblestutorials.net/" target=_blank mce_href="http://www.nibblestutorials.net/"&gt;&lt;STRONG&gt;Nibbles Tutorial&lt;/STRONG&gt;&lt;/A&gt;. Proprio all'interno di questo portale potete trovare degli &lt;STRONG&gt;utili tutorial, che descrivono "step by step", come sono stati realizzati alcuni di questi esempi&lt;/STRONG&gt;.&lt;BR&gt;Una buona palestra per prendere dimestichezza con Blend e per riempire, nel caso, questi ultimi caldi giorni di meritate vacanze.&lt;BR&gt;&lt;BR&gt;Sempre in questi giorni, vi segnalo che è stata rilasciata su MSDN la &lt;A title="Silverlight 3" href="http://msdn.microsoft.com/it-it/library/cc838158(VS.95).aspx" target=_blank mce_href="http://msdn.microsoft.com/it-it/library/cc838158(VS.95).aspx"&gt;documentazione&amp;nbsp;in italiano su Silverlight 3&lt;/A&gt;. Il&amp;nbsp;taglio di questi articoli è abbastanza tecnico, ma credo possa sempre valerne la pena darne una lettura. La raccolta degli articoli è&amp;nbsp;anche disponibile al download al &lt;A title="Silverlight 3" href="http://www.microsoft.com/downloads/details.aspx?displaylang=it&amp;amp;FamilyID=0a9773a7-c854-41fa-b73d-535abfb73baf" target=_blank mce_href="http://www.microsoft.com/downloads/details.aspx?displaylang=it&amp;amp;FamilyID=0a9773a7-c854-41fa-b73d-535abfb73baf"&gt;seguente link&lt;/A&gt;.&lt;BR&gt;&lt;BR&gt;::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::&lt;BR&gt;&lt;BR&gt;Infine, vi segnalo un altro interessante progetto che è stato presentato ad inizio&amp;nbsp;di agosto: "&lt;A title="Mess with Silverlight" href="http://www.messwithsilverlight.com/" target=_blank mce_href="http://www.messwithsilverlight.com/"&gt;&lt;STRONG&gt;Mess with Silverlight&lt;/STRONG&gt;&lt;/A&gt;", si tratta di un&amp;nbsp;blog in cui è stata coinvolta un'agenzia creativa di Chicago "Mess Marketing" abitualmente autrice di progetti in ambiente MAC&amp;nbsp;in Flash e tecnologia "competitive"&amp;nbsp;a cui è stato chiesto di raccontare le loro esperienze nell'adottare e nello sviluppare progetti in Silverlight&amp;nbsp;attraverso Expression Studio 3. Day by day troverete descritte e raccolte le esperienze sui progetti dal team creativo coinvolto. &lt;BR&gt;&lt;BR&gt;&lt;IMG style="WIDTH: 278px; HEIGHT: 132px" title="Mess with Silverlight" border=0 hspace=4 alt="Mess with Silverlight" align=right src="http://0eyrnw.bay.livefilestore.com/y1pCIN879hoYfuo4VcC5Nk3OnfiwhMuTVL0LLZKunS-FarFdyfb0Zz2c-kAZbesQoRHhNtAO4qEqLLnyMh1S7gvhA/mess.jpg" width=278 height=132 mce_src="http://0eyrnw.bay.livefilestore.com/y1pCIN879hoYfuo4VcC5Nk3OnfiwhMuTVL0LLZKunS-FarFdyfb0Zz2c-kAZbesQoRHhNtAO4qEqLLnyMh1S7gvhA/mess.jpg"&gt;Come avrete avuto più volte modo di apprendere, una delle potenzialità offerte da Expression Studio 3&amp;nbsp;è la capacità&amp;nbsp;di lavorare in piena interoperabilità con gli strumenti della famiglia Adobe (Photoshop ed Illustrator) in modo da ottimizzare&amp;nbsp;e ridurre drasticamente le tempistiche di realizzazione di un progetto.&lt;BR&gt;&lt;BR&gt;Nelle prossime settimane, pubblicherò una serie di webcast&amp;nbsp;- registrati durante&amp;nbsp;la pausa estiva ;) - che descriveranno ed illustreranno tali potenzialità.&lt;BR&gt;Stay tuned e buon lavoro ancora a tutti!&lt;BR&gt;&amp;nbsp;&lt;BR&gt;&lt;BR&gt;&amp;nbsp;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9885384" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/designexperience/archive/tags/Expression+Studio/default.aspx">Expression Studio</category><category domain="http://blogs.msdn.com/designexperience/archive/tags/Tutorial+_2600_amp_3B00_+Webcast/default.aspx">Tutorial &amp;amp; Webcast</category><category domain="http://blogs.msdn.com/designexperience/archive/tags/Link+utili/default.aspx">Link utili</category><category domain="http://blogs.msdn.com/designexperience/archive/tags/Silverlight/default.aspx">Silverlight</category><category domain="http://blogs.msdn.com/designexperience/archive/tags/Expression+Blend/default.aspx">Expression Blend</category><category domain="http://blogs.msdn.com/designexperience/archive/tags/RIA/default.aspx">RIA</category></item><item><title>Usability in Practice &amp; Microsoft Future Vision... </title><link>http://blogs.msdn.com/designexperience/archive/2009/08/03/microsoft-future-vision.aspx</link><pubDate>Mon, 03 Aug 2009 11:33:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9856004</guid><dc:creator>Roberto Cavallini</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/designexperience/comments/9856004.aspx</comments><wfw:commentRss>http://blogs.msdn.com/designexperience/commentrss.aspx?PostID=9856004</wfw:commentRss><description>&lt;P&gt;&lt;IMG style="WIDTH: 191px; HEIGHT: 67px" title="Usability in practice" border=0 hspace=4 alt="Usability in practice" align=right src="http://zglceq.bay.livefilestore.com/y1pgWwXzWWS2f-fkVIICpVws-_ZbwmHvMwz9_KGKz4tH6P1xXZ_DlFINdEzIoRGAsCkbM6ODFR8cPJLUrG79XmCEE__9M1vrGlZ/usability_in_practice.jpg" width=191 height=67 mce_src="http://zglceq.bay.livefilestore.com/y1pgWwXzWWS2f-fkVIICpVws-_ZbwmHvMwz9_KGKz4tH6P1xXZ_DlFINdEzIoRGAsCkbM6ODFR8cPJLUrG79XmCEE__9M1vrGlZ/usability_in_practice.jpg"&gt;Prima di andare in vacanza e&amp;nbsp;staccare per qualche giorno dagli impegni di lavoro... ;)&lt;BR&gt;Vi segnalo una serie di materiali che possono essere una buona lettura da portare sotto l'ombrellone.&lt;BR&gt;&lt;BR&gt;Sempre in merito alle tematiche legate alla progettazione e all'usabilità di una interfaccia utente, è uscita pochi giorni fa la pillola "&lt;A title="Usability Testing" href="http://msdn.microsoft.com/en-us/magazine/dd920305.aspx" target=_blank mce_href="http://msdn.microsoft.com/en-us/magazine/dd920305.aspx"&gt;&lt;STRONG&gt;Usability Testing&lt;/STRONG&gt;&lt;/A&gt;" dedicata ai testing di usabilità della serie "&lt;A title="Usavility in Practice" href="http://msdn.microsoft.com/en-us/magazine/dd365278.aspx" target=_blank mce_href="http://msdn.microsoft.com/en-us/magazine/dd365278.aspx"&gt;Usability in Practice&lt;/A&gt;". Vi ricordo che questo articolo fa parte di un'interessante serie di materiale redatta da due guru&amp;nbsp;su queste tematiche, Charles B. Kreitzberg e Ambrose Little, e disponibile su MSDN &lt;A title="Usability in practice" href="http://msdn.microsoft.com/en-us/magazine/dd365278.aspx" target=_blank mce_href="http://msdn.microsoft.com/en-us/magazine/dd365278.aspx"&gt;&lt;STRONG&gt;a questo link&lt;/STRONG&gt;&lt;/A&gt;.&lt;BR&gt;&lt;BR&gt;La raccolta completa e i link degli articoli che fanno parte di questa raccolta disponibili qui sotto (materiale in inglese):&lt;BR&gt;- &lt;A title="Usability Testing" href="http://msdn.microsoft.com/en-us/magazine/dd920305.aspx" target=_blank mce_href="http://msdn.microsoft.com/en-us/magazine/dd920305.aspx"&gt;Usability Testing&lt;BR&gt;&lt;/A&gt;- &lt;A title="Agile UX Development" href="http://msdn.microsoft.com/en-us/magazine/dd882523.aspx" target=_blank mce_href="http://msdn.microsoft.com/en-us/magazine/dd882523.aspx"&gt;Agile Ux Development&lt;/A&gt;&lt;BR&gt;- &lt;A title="Useful, usable and desirable..." href="http://msdn.microsoft.com/en-us/magazine/dd727512.aspx" target=_blank mce_href="http://msdn.microsoft.com/en-us/magazine/dd727512.aspx"&gt;Useful, Usable and Desirable: Usability as a Core Development Competence&lt;/A&gt;&lt;BR&gt;- &lt;A title="The power of personas" href="http://msdn.microsoft.com/en-us/magazine/dd569755.aspx" target=_blank mce_href="http://msdn.microsoft.com/en-us/magazine/dd569755.aspx"&gt;The Power of Personas&lt;/A&gt;&lt;BR&gt;- &lt;A title="Strategies for designing..." href="http://msdn.microsoft.com/en-us/magazine/dd458810.aspx" target=_blank mce_href="http://msdn.microsoft.com/en-us/magazine/dd458810.aspx"&gt;Strategies for Designing Application Navigation&lt;/A&gt;&lt;BR&gt;- &lt;A title="When thing go wrong" href="http://msdn.microsoft.com/en-us/magazine/2009.01.usabilityinpractice.aspx" target=_blank mce_href="http://msdn.microsoft.com/en-us/magazine/2009.01.usabilityinpractice.aspx"&gt;When Things Go Wrong&lt;BR&gt;&lt;/A&gt;- &lt;A title="The human face of software" href="http://msdn.microsoft.com/en-us/magazine/dd263095.aspx" target=_blank mce_href="http://msdn.microsoft.com/en-us/magazine/dd263095.aspx"&gt;The Human Face of Software&lt;/A&gt;&amp;nbsp;&amp;nbsp;&lt;BR&gt;&lt;BR&gt;&lt;IMG style="WIDTH: 400px; HEIGHT: 225px" title="Future Vision - Microsoft Office Labs" border=0 hspace=4 alt="Future Vision - Microsoft Office Labs" align=left src="http://zglceq.bay.livefilestore.com/y1p0OPTym538_cvL7D-daQrVWBDnMTvFkYztYLMEByhEyn8WLk3nc-m_Vn-UwNv40wUWCr-_vBFcYmFUHxru9PHag/future_vision.jpg" width=400 height=225 mce_src="http://zglceq.bay.livefilestore.com/y1p0OPTym538_cvL7D-daQrVWBDnMTvFkYztYLMEByhEyn8WLk3nc-m_Vn-UwNv40wUWCr-_vBFcYmFUHxru9PHag/future_vision.jpg"&gt;Sempre in merito ad alcune risorse interessanti in merito all'esperienza utente (&lt;A title="UX - Wikipedia" href="http://en.wikipedia.org/wiki/User_experience_design" target=_blank mce_href="http://en.wikipedia.org/wiki/User_experience_design"&gt;ux&lt;/A&gt;) e alla progettazione e al design di nuovi paradigma di interazione, vi segnalo un interessante video di "envisioning" su scenari futuri che si stanno delineando nei laboratori di ricerca di Office Labs. Anche in questo caso, gli studi che vengono proposti nei video, voglione essere degli stili sui possibili futuri scenari che si potrebbero delineare con il supporto della tecnologia e di device di&amp;nbsp;prossima generazione. In questi contesti, a mio parere, molto interessante&amp;nbsp;anche dal punto di vista della progettazione e del design di un'interfaccia utente che supporti e abiliti l'interazione su questi futuri ambiti, vale la pena farne una riflessione. Il video a cui faccio riferimento "&lt;A title="Productivity Future Vision - Office Labs" href="http://www.officelabs.com/projects/productivityfuturevision/Pages/default.aspx" target=_blank mce_href="http://www.officelabs.com/projects/productivityfuturevision/Pages/default.aspx"&gt;Productivity Future Vision&lt;/A&gt;" è disponibile &lt;A title="Productivity Future Vision" href="http://www.officelabs.com/projects/productivityfuturevision/Pages/default.aspx" target=_blank mce_href="http://www.officelabs.com/projects/productivityfuturevision/Pages/default.aspx"&gt;a questo link&lt;/A&gt;, mentre trovate l'elenco completo del materiale di &lt;A title="Envisioning - Microsoft Office Labs" href="http://www.officelabs.com/Pages/Envisioning.aspx" target=_blank mce_href="http://www.officelabs.com/Pages/Envisioning.aspx"&gt;"Envisioning" su questa pagina&lt;/A&gt;.&lt;BR&gt;&lt;BR&gt;Buone vacanze a tutti!&lt;BR&gt;&lt;BR&gt;&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9856004" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/designexperience/archive/tags/UX/default.aspx">UX</category><category domain="http://blogs.msdn.com/designexperience/archive/tags/Usability/default.aspx">Usability</category><category domain="http://blogs.msdn.com/designexperience/archive/tags/user+experience/default.aspx">user experience</category><category domain="http://blogs.msdn.com/designexperience/archive/tags/Microsoft+Envisioning/default.aspx">Microsoft Envisioning</category></item><item><title>Deep Zoom Compser Update "bug fixed"</title><link>http://blogs.msdn.com/designexperience/archive/2009/07/31/deep-zoom-compser-update-fix-bug.aspx</link><pubDate>Fri, 31 Jul 2009 18:48:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9854491</guid><dc:creator>Roberto Cavallini</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/designexperience/comments/9854491.aspx</comments><wfw:commentRss>http://blogs.msdn.com/designexperience/commentrss.aspx?PostID=9854491</wfw:commentRss><description>&lt;P&gt;&lt;IMG style="WIDTH: 42px; HEIGHT: 42px" title="Deep Zoom Composer" border=0 hspace=4 alt="Deep Zoom Composer" align=left src="http://zglceq.bay.livefilestore.com/y1pQnsK4_Um9waet0bB3JWfYVw3kMaqV-v9-dk2WLB5B-bXbf6SFhXSnq7U_hJW3mgJtv_juDZly2LjAwkHnA0S34olpZq5Q9Pk/deep_ico.jpg" width=42 height=42 mce_src="http://zglceq.bay.livefilestore.com/y1pQnsK4_Um9waet0bB3JWfYVw3kMaqV-v9-dk2WLB5B-bXbf6SFhXSnq7U_hJW3mgJtv_juDZly2LjAwkHnA0S34olpZq5Q9Pk/deep_ico.jpg"&gt;Vi segnalo un importante aggiornamento, è stata rilasciata &lt;STRONG&gt;&lt;A title="Deep Zoom Composer" href="http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;amp;FamilyID=457b17b7-52bf-4bda-87a3-fa8a4673f8bf" target=_blank mce_href="http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;amp;FamilyID=457b17b7-52bf-4bda-87a3-fa8a4673f8bf"&gt;una nuova versione di Deep Zoom Composer&lt;/A&gt;&lt;/STRONG&gt; in cui sono stati risolti una serie di problemi in merito alla "path" delle immagini generate in fase di esportazione.&lt;BR&gt;Come sempre, vi consiglio di installare le precedenti versioni ed installare l'aggiornamento. Si potevano riscontrare alcuni problemi nel caso impiegaste i custom templates disponibili aal'interno del tool, mentre il tutto funzionava correttamente esportando con il template di "Default".&lt;BR&gt;Per riassumere il tutto, se date un occhio al file XML - "dzc_output.xml" potreste notare questa piccola incongruenza.&lt;BR&gt;&lt;BR&gt;
&lt;CENTER&gt;&lt;IMG style="WIDTH: 470px; HEIGHT: 300px" title="Deep Zoom Composer Error" border=0 hspace=4 alt="Deep Zoom Composer Error" src="http://zglceq.bay.livefilestore.com/y1p8_XXaEyrTY4yHIRprmYUJkq9x0ST22WP1xw5CsSMtkWWPPcd-5Wpe0ktF-Qq9jspsvMTw3ilqgpS729oM9DTox4bXtYQGOau/deep_error.jpg" width=470 height=300 mce_src="http://zglceq.bay.livefilestore.com/y1p8_XXaEyrTY4yHIRprmYUJkq9x0ST22WP1xw5CsSMtkWWPPcd-5Wpe0ktF-Qq9jspsvMTw3ilqgpS729oM9DTox4bXtYQGOau/deep_error.jpg"&gt;&lt;/CENTER&gt;Per maggiori dettagli in merito vi rimando all'articolo sul &lt;A title="Expression Blog Team" href="http://blogs.msdn.com/expression/archive/2009/07/30/deep-zoom-composer-updated-to-fix-export-bug.aspx" target=_blank mce_href="http://blogs.msdn.com/expression/archive/2009/07/30/deep-zoom-composer-updated-to-fix-export-bug.aspx"&gt;blog di Expression Team a questo link&lt;/A&gt;.&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9854491" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/designexperience/archive/tags/Silverlight/default.aspx">Silverlight</category><category domain="http://blogs.msdn.com/designexperience/archive/tags/Deep+Zoom/default.aspx">Deep Zoom</category></item></channel></rss>