<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>WPF</title>
        <link>http://blogs.ugidotnet.org/marcom/category/WPF.aspx</link>
        <description>WPF</description>
        <language>it-IT</language>
        <copyright>Marco Minerva</copyright>
        <generator>Subtext Version 2.6.0.0</generator>
        <item>
            <title>Qualche parola sull'evento Natural User Interface con Kinect e .NET Gadgeteer</title>
            <link>http://blogs.ugidotnet.org/marcom/archive/2012/11/21/qualche-parola-sullevento-natural-user-interface-con-kinect-e-.net.aspx</link>
            <description>Finalmente trovo il tempo di scrivere due righe sull'evento Natural User Interface con Kinect e .NET Gadgeteer che si è svolto lo scorso 10 Novembre a Pisa.  Secondo me, l'evento è andato molto bene, l'interesse sull'argomento è stato alto, e vedere Kinect all'opera è davvero uno spettacolo :-) E' stata la prima volta che ho avuto la possibilità di lavorare con Massimo Bonanni, e devo dire che è stato un vero piacere: sfruttando Team Foundation Service, siamo riusciti ad unire due progetti assolutamente eterogenei, uno su Gadgeteer e uno con Kinect. Per coordinarci, abbiamo fatto solo un paio di call su Skype, di cui una a fine Giugno e l'altra due giorni prima dell'evento, e uno scambio di 4/5 mail in totale!  Sul sito di DotNetToscana potete trovare slide, codice sorgente, foto e video dell'evento. Qui sotto riporto solo la cosa più interessante, ovvero il video del sistema all'opera:       Tag di Technorati: Community,.NET,.NET Gadgeteer,.NET Micro Framework,C#,WPF,Kinect&lt;img src="http://blogs.ugidotnet.org/marcom/aggbug/101337.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Marco Minerva</dc:creator>
            <guid>http://blogs.ugidotnet.org/marcom/archive/2012/11/21/qualche-parola-sullevento-natural-user-interface-con-kinect-e-.net.aspx</guid>
            <pubDate>Wed, 21 Nov 2012 18:42:31 GMT</pubDate>
            <comments>http://blogs.ugidotnet.org/marcom/archive/2012/11/21/qualche-parola-sullevento-natural-user-interface-con-kinect-e-.net.aspx#feedback</comments>
            <slash:comments>1</slash:comments>
            <wfw:commentRss>http://blogs.ugidotnet.org/marcom/comments/commentRss/101337.aspx</wfw:commentRss>
            <trackback:ping>http://blogs.ugidotnet.org/marcom/services/trackbacks/101337.aspx</trackback:ping>
        </item>
        <item>
            <title>Nuova versione della libreria per il Text-To-Speech</title>
            <link>http://blogs.ugidotnet.org/marcom/archive/2012/05/27/nuova-versione-della-libreria-per-il-text-to-speech.aspx</link>
            <description>La mia libreria per il Text-To-Speech con Microsoft Translator è giunta alla versione 1.3. In questa nuova release ho aggiunto una funzionalità di riconoscimento automatico della lingua. Come sempre, può essere scaricata tramite NuGet.  Nell’esempio disponibile su MSDN Code Gallery, inoltre, è adesso presente anche un’applicazione WPF di esempio, che si affianca alla classica Console Application:    Si tratta dell’ultima versione che pubblicherò su MSDN Code Gallery. Ho in progetto di effettuare il porting della libreria su altre piattaforme (le versioni per Windows Phone e WinRT sono quasi pronte), quindi per gestire meglio il progetto, sposterò tutto su CodePlex.  Tag di Technorati: .NET,Programming,C#,WPF,Windows Phone,WinRT,CodePlex&lt;img src="http://blogs.ugidotnet.org/marcom/aggbug/101020.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Marco Minerva</dc:creator>
            <guid>http://blogs.ugidotnet.org/marcom/archive/2012/05/27/nuova-versione-della-libreria-per-il-text-to-speech.aspx</guid>
            <pubDate>Sun, 27 May 2012 20:37:30 GMT</pubDate>
            <comments>http://blogs.ugidotnet.org/marcom/archive/2012/05/27/nuova-versione-della-libreria-per-il-text-to-speech.aspx#feedback</comments>
            <wfw:commentRss>http://blogs.ugidotnet.org/marcom/comments/commentRss/101020.aspx</wfw:commentRss>
            <trackback:ping>http://blogs.ugidotnet.org/marcom/services/trackbacks/101020.aspx</trackback:ping>
        </item>
        <item>
            <title>Microsoft Translator: la sottoscrizione al servizio &amp;egrave; diventata obbligatoria</title>
            <link>http://blogs.ugidotnet.org/marcom/archive/2012/04/18/microsoft-translator-la-sottoscrizione-al-servizio-egrave-diventata-obbligatoria.aspx</link>
            <description>Ieri sera ho iniziato a lavorare al porting su Windows Phone della mia libreria per il Text-To-Speech con Microsoft Translator. Ad un certo punto, il servizio ha iniziato a restituire il codice di errore 400 (Bad Request) ad ogni mia richiesta: l’unica cosa che riuscivo ad ottenere era la lista dei linguaggi supportati dal Text-To-Speech.  Dopo aver fatto qualche ricerca, sono arrivato alla pagina Microsoft Translator sul Windows Azure Marketplace, in cui sono elencati i costi del servizio, in base al numero di caratteri inviati al mese. L’ultima opzione, fino a 2.000.000 di caratteri, è gratuita. Ho quindi effettuato la sottoscrizione e la mia libreria ha ripreso a funzionare senza problemi.  L’ultima volta che avevo utilizzato la mia libreria, un paio di settimane fa, questa sottoscrizione non era necessaria (era sufficiente aver registrato la propria applicazione nella pagina https://datamarket.azure.com/developer/applications/, per ottenere il Client ID e il Client Secret richiesti). Ora, invece, oltre a registrare l’applicazione, dobbiamo sottoscrivere esplicitamente il servizio, anche se ci limitiamo ad usare la versione gratuita.  Tag di Technorati: .NET,Programming,C#,VB .NET,WPF,Windows Phone&lt;img src="http://blogs.ugidotnet.org/marcom/aggbug/100962.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Marco Minerva</dc:creator>
            <guid>http://blogs.ugidotnet.org/marcom/archive/2012/04/18/microsoft-translator-la-sottoscrizione-al-servizio-egrave-diventata-obbligatoria.aspx</guid>
            <pubDate>Wed, 18 Apr 2012 21:45:10 GMT</pubDate>
            <comments>http://blogs.ugidotnet.org/marcom/archive/2012/04/18/microsoft-translator-la-sottoscrizione-al-servizio-egrave-diventata-obbligatoria.aspx#feedback</comments>
            <wfw:commentRss>http://blogs.ugidotnet.org/marcom/comments/commentRss/100962.aspx</wfw:commentRss>
            <trackback:ping>http://blogs.ugidotnet.org/marcom/services/trackbacks/100962.aspx</trackback:ping>
        </item>
        <item>
            <title>Traduzioni localizzate dei messaggi di errore</title>
            <link>http://blogs.ugidotnet.org/marcom/archive/2012/04/06/traduzioni-localizzate-dei-messaggi-di-errore.aspx</link>
            <description>Alzi la mano chi non ha mai inserito in Google un messaggio di errore di .NET, alla ricerca di una spiegazione del problema: così facendo, infatti, spesso possiamo trovare descrizioni dettagliate, con precise indicazioni su come risolvere l'inghippo.  Tuttavia, se utilizziamo una versione localizzata del Framework .NET (oppure se installiamo un'applicazione in un PC con la versione localizzata del Framework), anche i messaggi di errore sono tradotti. Come ben sappiamo, invece, abbiamo maggiori possibilità di trovare informazioni se cerchiamo il messaggio in inglese. Ma c'è un problema: spesso le traduzioni dall'inglese lasciano molto a desiderare (per non dire di peggio), quindi in tale scenario può non essere facile trovare quello che ci serve.  Ecco allora che FindErr.NET arriva in nostro soccorso: in questo sito, inseriamo il messaggio di errore, ad esempio in italiano, ed otteniamo l'esatta traduzione in inglese, che possiamo immediatamente ricercare con Google usando il link fornito. Davvero molto utile.  Tag di Technorati: .NET,Programming,C#,VB.NET,Silverlight,ASP.NET,WPF,WCF&lt;img src="http://blogs.ugidotnet.org/marcom/aggbug/100928.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Marco Minerva</dc:creator>
            <guid>http://blogs.ugidotnet.org/marcom/archive/2012/04/06/traduzioni-localizzate-dei-messaggi-di-errore.aspx</guid>
            <pubDate>Fri, 06 Apr 2012 19:21:11 GMT</pubDate>
            <comments>http://blogs.ugidotnet.org/marcom/archive/2012/04/06/traduzioni-localizzate-dei-messaggi-di-errore.aspx#feedback</comments>
            <slash:comments>1</slash:comments>
            <wfw:commentRss>http://blogs.ugidotnet.org/marcom/comments/commentRss/100928.aspx</wfw:commentRss>
            <trackback:ping>http://blogs.ugidotnet.org/marcom/services/trackbacks/100928.aspx</trackback:ping>
        </item>
        <item>
            <title>Interessante post sull&amp;rsquo;utilizzo dei Task in .NET 4.0</title>
            <link>http://blogs.ugidotnet.org/marcom/archive/2012/02/18/interessante-post-sullrsquoutilizzo-dei-task-in-.net-4.0.aspx</link>
            <description>Girovagando su Internet, ho trovato un articolo che illustra in maniera molto semplice l'utilizzo della classe Task. Gli esempi forniti permettono di comprendere immediatamente la potenza di questo oggetto.  Esso fa parte di una serie di 20 post, Parallelism in .NET, dedicati alla Task Parallel Library e a PLINQ. Caldamente consigliato a chi vuote approfondire l’argomento (quindi spero la maggior parte dei programmatori .NET…).  Tag di Technorati: .NET,Programming,C#,VB .NET,Silverlight,WPF,ASP .NET&lt;img src="http://blogs.ugidotnet.org/marcom/aggbug/100780.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Marco Minerva</dc:creator>
            <guid>http://blogs.ugidotnet.org/marcom/archive/2012/02/18/interessante-post-sullrsquoutilizzo-dei-task-in-.net-4.0.aspx</guid>
            <pubDate>Sat, 18 Feb 2012 19:25:31 GMT</pubDate>
            <comments>http://blogs.ugidotnet.org/marcom/archive/2012/02/18/interessante-post-sullrsquoutilizzo-dei-task-in-.net-4.0.aspx#feedback</comments>
            <wfw:commentRss>http://blogs.ugidotnet.org/marcom/comments/commentRss/100780.aspx</wfw:commentRss>
            <trackback:ping>http://blogs.ugidotnet.org/marcom/services/trackbacks/100780.aspx</trackback:ping>
        </item>
        <item>
            <title>Controllo ortografico con WPF</title>
            <link>http://blogs.ugidotnet.org/marcom/archive/2012/02/11/controllo-ortografico-con-wpf.aspx</link>
            <description>Una cosa forse non molto conosciuta è che WPF supporta il controllo ortografico durante la digitazione per i controlli TextBox e RichTextBox. Per abilitarlo, è sufficiente impostare la relativa attached property SpellCheck.IsEnabled su true. Inoltre, tramite la proprietà Language, è impossibile impostare la lingua del correttore:     &amp;lt;TextBox SpellCheck.IsEnabled="True" Language="en-US" Height="25" Width="200" /&amp;gt;

  

Purtroppo, il controllo ortografico supporta solo 4 lingue: inglese, francese, tedesco e spagnolo. In pratica, esso funziona solo se la lingua del nostro sistema è una di queste.

L’oggetto SpellCheck espone anche un’altra proprietà interessante, CustomDictionaries, con cui possiamo aggiungere dizionari personalizzati al correttore ortografico. Purtroppo, questa proprietà non può essere utilizzata per aggiungere il supporto a nuove lingue. Essa consente solo di inserire nuove parole nei 4 vocabolari previsti.

Tag di Technorati: .NET,Programming,WPF&lt;img src="http://blogs.ugidotnet.org/marcom/aggbug/100767.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Marco Minerva</dc:creator>
            <guid>http://blogs.ugidotnet.org/marcom/archive/2012/02/11/controllo-ortografico-con-wpf.aspx</guid>
            <pubDate>Sat, 11 Feb 2012 17:42:37 GMT</pubDate>
            <comments>http://blogs.ugidotnet.org/marcom/archive/2012/02/11/controllo-ortografico-con-wpf.aspx#feedback</comments>
            <slash:comments>1</slash:comments>
            <wfw:commentRss>http://blogs.ugidotnet.org/marcom/comments/commentRss/100767.aspx</wfw:commentRss>
            <trackback:ping>http://blogs.ugidotnet.org/marcom/services/trackbacks/100767.aspx</trackback:ping>
        </item>
        <item>
            <title>Finestre WPF senza icona</title>
            <link>http://blogs.ugidotnet.org/marcom/archive/2012/01/07/finestre-wpf-senza-icona.aspx</link>
            <description>Quest'oggi ho cercato di fare una cosa all'apparenza banale: creare una finestra di WPF senza l'icona sulla sinistra (ovvero lo stesso risultato che si ottiene impostando la proprietà ShowIcon di una Windows Form su false).  Ebbene, NON è possibile: WPF non espone una proprietà che permette di nascondere tale icona. Per ottenere il risultato voluto, l'unica soluzione è ricorrere alle funzioni dell'API di Windows, come descritto nel post A WPF Window Without a Window Icon (the thing you click to get the system menu).  In sintesi, si deve eseguire l'override del metodo OnSourceInitialized ed utilizzare il Platform Invoke per modificare lo stile della finestra.  Tag di Technorati: .NET,Programming,C#,WPF&lt;img src="http://blogs.ugidotnet.org/marcom/aggbug/100676.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Marco Minerva</dc:creator>
            <guid>http://blogs.ugidotnet.org/marcom/archive/2012/01/07/finestre-wpf-senza-icona.aspx</guid>
            <pubDate>Sat, 07 Jan 2012 15:23:33 GMT</pubDate>
            <comments>http://blogs.ugidotnet.org/marcom/archive/2012/01/07/finestre-wpf-senza-icona.aspx#feedback</comments>
            <slash:comments>1</slash:comments>
            <wfw:commentRss>http://blogs.ugidotnet.org/marcom/comments/commentRss/100676.aspx</wfw:commentRss>
            <trackback:ping>http://blogs.ugidotnet.org/marcom/services/trackbacks/100676.aspx</trackback:ping>
        </item>
        <item>
            <title>Interfaccia ICommand con Mango</title>
            <link>http://blogs.ugidotnet.org/marcom/archive/2011/11/23/interfaccia-icommand-con-mango.aspx</link>
            <description>Oggi pomeriggio un collega mi ha chiesto come utilizzare l’interfaccia ICommand in Windows Phone Mango. Gli ho così girato il link ad un post che avevo trovato tempo fa e che spiega in maniera molto semplice di cosa si tratta e come si usa. E’ propria la base, ma direi che rappresenta un buon punto di partenza per chi, come quel mio collega, aveva bisogna di farsi un’idea  su tale interfaccia e sul suo utilizzo.  Tag di Technorati: .NET,Programming,WPF&lt;img src="http://blogs.ugidotnet.org/marcom/aggbug/100547.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Marco Minerva</dc:creator>
            <guid>http://blogs.ugidotnet.org/marcom/archive/2011/11/23/interfaccia-icommand-con-mango.aspx</guid>
            <pubDate>Wed, 23 Nov 2011 00:26:39 GMT</pubDate>
            <comments>http://blogs.ugidotnet.org/marcom/archive/2011/11/23/interfaccia-icommand-con-mango.aspx#feedback</comments>
            <slash:comments>1</slash:comments>
            <wfw:commentRss>http://blogs.ugidotnet.org/marcom/comments/commentRss/100547.aspx</wfw:commentRss>
            <trackback:ping>http://blogs.ugidotnet.org/marcom/services/trackbacks/100547.aspx</trackback:ping>
        </item>
        <item>
            <title>ObservableDictionary per WPF</title>
            <link>http://blogs.ugidotnet.org/marcom/archive/2011/11/21/observabledictionary-per-wpf.aspx</link>
            <description>Sul blog Shimmy on .NET è disponibile l’implementazione di un ObservableDictionary per WPF.  Tag di Technorati: .NET,Programming,C#,WPF&lt;img src="http://blogs.ugidotnet.org/marcom/aggbug/100544.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Marco Minerva</dc:creator>
            <guid>http://blogs.ugidotnet.org/marcom/archive/2011/11/21/observabledictionary-per-wpf.aspx</guid>
            <pubDate>Mon, 21 Nov 2011 20:14:36 GMT</pubDate>
            <comments>http://blogs.ugidotnet.org/marcom/archive/2011/11/21/observabledictionary-per-wpf.aspx#feedback</comments>
            <slash:comments>4</slash:comments>
            <wfw:commentRss>http://blogs.ugidotnet.org/marcom/comments/commentRss/100544.aspx</wfw:commentRss>
            <trackback:ping>http://blogs.ugidotnet.org/marcom/services/trackbacks/100544.aspx</trackback:ping>
        </item>
        <item>
            <title>[70-511] Una piccola nota sul Drag and Drop del contenuto di TextBox in WPF</title>
            <link>http://blogs.ugidotnet.org/marcom/archive/2011/06/10/70-511-una-piccola-nota-sul-drag-and-drop-del-contenuto.aspx</link>
            <description>Il Self-Paced Training Kit per l’esame 70-511, Windows Applications Development with Microsoft .NET Framework 4, dedica una lezione al Drag and Drop, sia nelle applicazioni Windows Forms, sia in WPF. In entrambi i casi, si prende come esempio il Drag and Drop tra due controlli TextBox: nessun problema per le Windows Forms, dove tutto funziona come previsto; qualche inghippo, invece, si ha con WPF… In pratica, tutto il codice illustrato non funziona, perché WPF gestisce automaticamente il drag and drop tra due caselle di testo! Così, ad esempio, se proviamo a richiamare il metodo DragDrop.DoDragDrop nell’evento TextBox.PreviewMouseLeftButtonDown, il testo contenuto nella casella viene copiato e immediatamente incollato nell’esatta posizione in cui si trova il cursore.  Tag di Technorati: .NET,Programming,Visual Studio,Certification,C#,VB .NET&lt;img src="http://blogs.ugidotnet.org/marcom/aggbug/100119.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Marco Minerva</dc:creator>
            <guid>http://blogs.ugidotnet.org/marcom/archive/2011/06/10/70-511-una-piccola-nota-sul-drag-and-drop-del-contenuto.aspx</guid>
            <pubDate>Fri, 10 Jun 2011 00:08:57 GMT</pubDate>
            <comments>http://blogs.ugidotnet.org/marcom/archive/2011/06/10/70-511-una-piccola-nota-sul-drag-and-drop-del-contenuto.aspx#feedback</comments>
            <slash:comments>5</slash:comments>
            <wfw:commentRss>http://blogs.ugidotnet.org/marcom/comments/commentRss/100119.aspx</wfw:commentRss>
            <trackback:ping>http://blogs.ugidotnet.org/marcom/services/trackbacks/100119.aspx</trackback:ping>
        </item>
    </channel>
</rss>