<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:copyright="http://blogs.law.harvard.edu/tech/rss" xmlns:image="http://purl.org/rss/1.0/modules/image/">
    <channel>
        <title>XAML</title>
        <link>http://blogs.ugidotnet.org/allePalle_blog/category/XAML.aspx</link>
        <description>XAML</description>
        <language>it-IT</language>
        <copyright>Alessandro Scardova</copyright>
        <generator>Subtext Version 2.6.0.0</generator>
        <item>
            <title>Addio Metro: &amp;egrave; stato bello.</title>
            <link>http://blogs.ugidotnet.org/allePalle_blog/archive/2012/10/03/addio-metro-egrave-stato-bello.aspx</link>
            <description>&lt;p&gt;&lt;img width="444" height="294" title="image" style="border-width: 0px; padding-top: 0px; padding-right: 0px; padding-left: 0px; display: inline; background-image: none;" alt="image" border="0" src="http://blogs.ugidotnet.org/images/blogs_ugidotnet_org/allePalle_blog/Windows-Live-Writer/Addio-Metro--stato-bello_A731/image_3.png" /&gt;&lt;/p&gt;
&lt;p&gt;Mancano pochi giorni al lancio ufficiale di Windows 8 e finalmente sembra che si sia chiarita la vicenda intorno al codename “Metro”,  che nella fase Beta indicava sia un’applicazione per Windows 8 e Windows RT che il particolare design che le caratterizza, arrivando fino a definire la nuova pagina Start di Windows 8.&lt;/p&gt;
&lt;p&gt;Tralascerò i motivi per cui Microsoft ha dovuto abbandonare il codename  e la incredibile vicenda legata ad una nota catena di Cash &amp;amp; Carry tedesca per concentrami sul concetto di Design Language.&lt;/p&gt;
&lt;p&gt;&lt;img width="444" height="272" title="image" style="border-width: 0px; padding-top: 0px; padding-right: 0px; padding-left: 0px; display: inline; background-image: none;" alt="image" border="0" src="http://blogs.ugidotnet.org/images/blogs_ugidotnet_org/allePalle_blog/Windows-Live-Writer/Addio-Metro--stato-bello_A731/image12.png" /&gt;&lt;/p&gt;
&lt;p&gt;La versione RTM di Visual Studio chiama correttamente i template per sviluppare applicazioni per Windows 8 e Windows RT “&lt;strong&gt;Windows Store&lt;/strong&gt;” e da un &lt;a target="_blank" href="http://www.zdnet.com/microsoft-finally-comes-cleaner-on-post-metro-naming-plans-7000004151/"&gt;post di Mary Jo Foley&lt;/a&gt; di qualche giorno fa si fa chiarezza (o quasi) sul punto: &lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Windows Store apps      &lt;br /&gt;
&lt;/strong&gt;(per i fanatici del branding la parola &lt;em&gt;apps&lt;/em&gt; è in minuscolo)     &lt;br /&gt;
Sono le app realizzate per Windows 8 e Windows RT che verranno distribuite attraverso il Windows Store, che non necessariamente devono avere un particolare design style, fermo restando il rispetto dei &lt;a target="_blank" href="http://msdn.microsoft.com/en-us/library/windows/apps/hh694083.aspx"&gt;requisiti per la certificazione&lt;/a&gt;, attualmente alla versione 3.0. &lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Modern apps      &lt;br /&gt;
&lt;/strong&gt;In un primo tempo pensavo che &lt;em&gt;Modern&lt;/em&gt; identificasse il nuovo nome del design language, anche perché i concetti base sono simili a quello che viene definito &lt;strong&gt;&lt;a target="_blank" href="http://it.wikipedia.org/wiki/Movimento_Moderno"&gt;Movimento Moderno&lt;/a&gt;&lt;/strong&gt;, ma mi sono presto dovuto ricredere: Somasegar in una intervista telefonica, definisce &lt;em&gt;"Modern apps" is a sweeping term that mean apps that work on connected devices and make use of continuous services,". &lt;/em&gt;Non ci troviamo quindi di fronte ad una definizione di un design ma piuttosto ad una architettura specifica per applicazioni mobili e non solo, in grado di consumare servizi remoti. &lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Microsoft design style&lt;/strong&gt;     &lt;br /&gt;
a quanto pare Microsoft ha messo il cappello al design language: quello che fino ad oggi abbiamo chiamato Metro style è diventato &lt;strong&gt;il design language di Microsoft&lt;/strong&gt;, nato e pensato per le &lt;em&gt;Windows Store apps&lt;/em&gt; &lt;a target="_blank" href="http://msdn.microsoft.com/en-us/library/windows/apps/hh464920.aspx#traits_8_embrace_metro"&gt;i cui principi&lt;/a&gt; possono essere estesi ad altri tipi di applicazioni, sia desktop che web, a documenti e presentazioni.&lt;/p&gt;
&lt;p&gt;La documentazione è ancora in aggiornamento con la nuova nomenclatura, le stesso &lt;a target="_blank" href="http://go.microsoft.com/fwlink/?LinkId=258743"&gt;PDF che riassume UX Guildelines&lt;/a&gt; in versione RTM citano ancora Metro styles app, in generale però quando si parla di design delle Windows Store apps si fa riferimento al Microsoft design style. &lt;/p&gt;
&lt;p&gt;Salvo valide motivazioni, ad esempio legate ad un particolare brand dell’app, se volete sviluppare app Windows Store di successo è bene seguire i principi del Microsoft design stile definiti in &lt;a target="_blank" href="http://msdn.microsoft.com/en-us/library/windows/apps/hh464920.aspx"&gt;questa pagina&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Addio Metro, è stato divertente giocare col quel nome, ma oggi diamo un caloroso benvenuto al &lt;strong&gt;Microsoft design style!&lt;/strong&gt;&lt;/p&gt;&lt;img src="http://blogs.ugidotnet.org/allePalle_blog/aggbug/101253.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Alessandro Scardova</dc:creator>
            <guid>http://blogs.ugidotnet.org/allePalle_blog/archive/2012/10/03/addio-metro-egrave-stato-bello.aspx</guid>
            <pubDate>Wed, 03 Oct 2012 14:39:53 GMT</pubDate>
            <comments>http://blogs.ugidotnet.org/allePalle_blog/archive/2012/10/03/addio-metro-egrave-stato-bello.aspx#feedback</comments>
            <slash:comments>1</slash:comments>
            <wfw:commentRss>http://blogs.ugidotnet.org/allePalle_blog/comments/commentRss/101253.aspx</wfw:commentRss>
        </item>
        <item>
            <title>Metro UX con XAML: creare una GridView custom</title>
            <link>http://blogs.ugidotnet.org/allePalle_blog/archive/2012/03/25/metro-ux-con-xaml-creare-una-gridview-custom.aspx</link>
            <description>&lt;p&gt;Molti mi hanno chiesto come creare in XAML una griglia con gli elementi che possano spammare su più righe o su più colonne, più o meno come accade con la pagina Start di Windows 8 o come potete vedere in altre applicazioni Metro.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.ugidotnet.org/images/blogs_ugidotnet_org/allePalle_blog/Windows-Live-Writer/Creare-una-Grid-Custom-con_E8C8/screenshot1_2.png"&gt;&lt;img title="screenshot1" style="border-left-width: 0px; border-right-width: 0px; background-image: none; border-bottom-width: 0px; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border-top-width: 0px" border="0" alt="screenshot1" src="http://blogs.ugidotnet.org/images/blogs_ugidotnet_org/allePalle_blog/Windows-Live-Writer/Creare-una-Grid-Custom-con_E8C8/screenshot1_thumb.png" width="289" height="149" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;La soluzione è abbstanza semplice: basta ereditare il controllo GridView e fare un override del metodo &lt;strong&gt;PrepareContainerForItemOverride&lt;/strong&gt; avendo cura di inserire nel oggetto bindato all’item (il model se usate MVVM) le proprietà che rappresentano i valori di RowSpan e ColumnSpan dell’oggetto contenitore, nel mio caso un &lt;em&gt;VariableSizedWrapGrid&lt;/em&gt; in questo modo&lt;em&gt;:&lt;/em&gt;&lt;/p&gt;  &lt;p&gt;public class SpannableGridView : GridView    &lt;br /&gt;{     &lt;br /&gt;    protected override void PrepareContainerForItemOverride(Windows.UI.Xaml.DependencyObject element, object item)     &lt;br /&gt;    {     &lt;br /&gt;        var dataItem = item as SampleDataItem;&lt;/p&gt;  &lt;p&gt;        if (dataItem != null)    &lt;br /&gt;        {     &lt;br /&gt;            element.SetValue(VariableSizedWrapGrid.ColumnSpanProperty, dataItem.ColumnSpan);     &lt;br /&gt;            element.SetValue(VariableSizedWrapGrid.RowSpanProperty, dataItem.RowSpan);     &lt;br /&gt;        }&lt;/p&gt;  &lt;p&gt;        base.PrepareContainerForItemOverride(element, item);    &lt;br /&gt;    }     &lt;br /&gt;}     &lt;br /&gt;&lt;/p&gt;  &lt;p&gt;Da notare che:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;il &lt;strong&gt;DataTemplate&lt;/strong&gt; associato all’item non deve essere a dimensione fissa perchè deve adattarsi alle varie dimensioni; &lt;/li&gt;    &lt;li&gt;se usate un &lt;em&gt;VariableSizedWrapGrid&lt;/em&gt; dovete impostare la dimensione di ItemHeight e ItemWidth alla dimensione che dovrà avere l’item con ColumnSpan  e RowSpan impostati a 1. &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;Detto questo potete scaricarvi l’esempio &lt;a href="https://skydrive.live.com/redir.aspx?cid=341fc16cf215d488&amp;amp;resid=341FC16CF215D488!494&amp;amp;parid=341FC16CF215D488!169" target="_blank"&gt;qua&lt;/a&gt;.&lt;/p&gt;&lt;img src="http://blogs.ugidotnet.org/allePalle_blog/aggbug/100891.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Alessandro Scardova</dc:creator>
            <guid>http://blogs.ugidotnet.org/allePalle_blog/archive/2012/03/25/metro-ux-con-xaml-creare-una-gridview-custom.aspx</guid>
            <pubDate>Sun, 25 Mar 2012 18:20:35 GMT</pubDate>
            <comments>http://blogs.ugidotnet.org/allePalle_blog/archive/2012/03/25/metro-ux-con-xaml-creare-una-gridview-custom.aspx#feedback</comments>
            <wfw:commentRss>http://blogs.ugidotnet.org/allePalle_blog/comments/commentRss/100891.aspx</wfw:commentRss>
        </item>
    </channel>
</rss>