WPF http://blogs.ugidotnet.org/marcom/category/WPF.aspx WPF it-IT Marco Minerva Subtext Version 2.6.0.0 Qualche parola sull'evento Natural User Interface con Kinect e .NET Gadgeteer http://blogs.ugidotnet.org/marcom/archive/2012/11/21/qualche-parola-sullevento-natural-user-interface-con-kinect-e-.net.aspx <p>Finalmente trovo il tempo di scrivere due righe sull'evento <a href="http://www.dotnettoscana.org/natural-user-interface-con-kinect-e-gadgeteer.aspx" target="_blank">Natural User Interface con Kinect e .NET Gadgeteer</a> che si è svolto lo scorso 10 Novembre a Pisa.</p> <p>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 <a href="http://codetailor.blogspot.it/" target="_blank">Massimo Bonanni</a>, 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!</p> <p>Sul sito di <a href="http://www.dotnettoscana.org" target="_blank">DotNetToscana</a> 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:</p> <div style="text-align: center; padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:5737277B-5D6D-4f48-ABFC-DD9C333F4C5D:806b0e69-0ac5-4873-ba5c-eb63c99396eb" class="wlWriterEditableSmartContent"><div id="bda0145f-5988-4c1a-81cb-7e3e026f2c51" style="margin: 0px; padding: 0px; display: inline;"><div><a href="http://www.youtube.com/watch?v=qwMHMD6_QDE&amp;feature=youtube_gdata_player" target="_new"><img src="http://blogs.ugidotnet.org/images/blogs_ugidotnet_org/marcom/Windows-Live-Writer/Qualche-nota-sullevento-Na.NET-Gadgeteer_F573/video0fb1fa4113f6.jpg" style="border-style: none" galleryimg="no" onload="var downlevelDiv = document.getElementById('bda0145f-5988-4c1a-81cb-7e3e026f2c51'); downlevelDiv.innerHTML = &quot;&lt;div&gt;&lt;object width=\&quot;448\&quot; height=\&quot;252\&quot;&gt;&lt;param name=\&quot;movie\&quot; value=\&quot;http://www.youtube.com/v/qwMHMD6_QDE?hl=en&amp;hd=1\&quot;&gt;&lt;\/param&gt;&lt;embed src=\&quot;http://www.youtube.com/v/qwMHMD6_QDE?hl=en&amp;hd=1\&quot; type=\&quot;application/x-shockwave-flash\&quot; width=\&quot;448\&quot; height=\&quot;252\&quot;&gt;&lt;\/embed&gt;&lt;\/object&gt;&lt;\/div&gt;&quot;;" alt="" /></a></div></div></div> <p> </p> <div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:0533d20b-0556-48e5-91d9-4f196fa54638" class="wlWriterEditableSmartContent">Tag di Technorati: <a href="http://technorati.com/tags/Community" rel="tag">Community</a>,<a href="http://technorati.com/tags/.NET" rel="tag">.NET</a>,<a href="http://technorati.com/tags/.NET+Gadgeteer" rel="tag">.NET Gadgeteer</a>,<a href="http://technorati.com/tags/.NET+Micro+Framework" rel="tag">.NET Micro Framework</a>,<a href="http://technorati.com/tags/C%23" rel="tag">C#</a>,<a href="http://technorati.com/tags/WPF" rel="tag">WPF</a>,<a href="http://technorati.com/tags/Kinect" rel="tag">Kinect</a></div><img src="http://blogs.ugidotnet.org/marcom/aggbug/101337.aspx" width="1" height="1" /> Marco Minerva http://blogs.ugidotnet.org/marcom/archive/2012/11/21/qualche-parola-sullevento-natural-user-interface-con-kinect-e-.net.aspx Wed, 21 Nov 2012 18:42:31 GMT http://blogs.ugidotnet.org/marcom/archive/2012/11/21/qualche-parola-sullevento-natural-user-interface-con-kinect-e-.net.aspx#feedback 1 http://blogs.ugidotnet.org/marcom/comments/commentRss/101337.aspx http://blogs.ugidotnet.org/marcom/services/trackbacks/101337.aspx Nuova versione della libreria per il Text-To-Speech http://blogs.ugidotnet.org/marcom/archive/2012/05/27/nuova-versione-della-libreria-per-il-text-to-speech.aspx <p>La mia libreria per il <a href="http://code.msdn.microsoft.com/Speech-Synthesis-with-7658fa03" target="_blank"><strong>Text-To-Speech</strong></a> con Microsoft Translator è giunta alla versione <strong>1.3</strong>. In questa nuova release ho aggiunto una funzionalità di riconoscimento automatico della lingua. Come sempre, può essere scaricata tramite <a href="https://www.nuget.org/packages/TranslatorService.Speech" target="_blank"><strong>NuGet</strong></a>.</p> <p>Nell’esempio disponibile su <a href="http://code.msdn.microsoft.com/Speech-Synthesis-with-7658fa03" target="_blank"><strong>MSDN Code Gallery</strong></a>, inoltre, è adesso presente anche un’applicazione WPF di esempio, che si affianca alla classica Console Application:</p> <p><a href="http://blogs.ugidotnet.org/images/blogs_ugidotnet_org/marcom/Windows-Live-Writer/Nuova-versione-della-libreria-per-il-Tex_11AEA/WPFExample_2.png"><img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto; padding-top: 0px" title="WPFExample" border="0" alt="WPFExample" src="http://blogs.ugidotnet.org/images/blogs_ugidotnet_org/marcom/Windows-Live-Writer/Nuova-versione-della-libreria-per-il-Tex_11AEA/WPFExample_thumb.png" width="554" height="454" /></a></p> <p>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 <a href="http://www.codeplex.com/" target="_blank">CodePlex</a>.</p> <div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:38678f8f-0fe1-4b56-9091-74b447d57a74" class="wlWriterEditableSmartContent">Tag di Technorati: <a href="http://technorati.com/tags/.NET" rel="tag">.NET</a>,<a href="http://technorati.com/tags/Programming" rel="tag">Programming</a>,<a href="http://technorati.com/tags/C%23" rel="tag">C#</a>,<a href="http://technorati.com/tags/WPF" rel="tag">WPF</a>,<a href="http://technorati.com/tags/Windows+Phone" rel="tag">Windows Phone</a>,<a href="http://technorati.com/tags/WinRT" rel="tag">WinRT</a>,<a href="http://technorati.com/tags/CodePlex" rel="tag">CodePlex</a></div><img src="http://blogs.ugidotnet.org/marcom/aggbug/101020.aspx" width="1" height="1" /> Marco Minerva http://blogs.ugidotnet.org/marcom/archive/2012/05/27/nuova-versione-della-libreria-per-il-text-to-speech.aspx Sun, 27 May 2012 20:37:30 GMT http://blogs.ugidotnet.org/marcom/archive/2012/05/27/nuova-versione-della-libreria-per-il-text-to-speech.aspx#feedback http://blogs.ugidotnet.org/marcom/comments/commentRss/101020.aspx http://blogs.ugidotnet.org/marcom/services/trackbacks/101020.aspx Microsoft Translator: la sottoscrizione al servizio &egrave; diventata obbligatoria http://blogs.ugidotnet.org/marcom/archive/2012/04/18/microsoft-translator-la-sottoscrizione-al-servizio-egrave-diventata-obbligatoria.aspx <p>Ieri sera ho iniziato a lavorare al porting su Windows Phone della mia libreria per il <a href="http://code.msdn.microsoft.com/Speech-Synthesis-with-7658fa03" target="_blank"><strong>Text-To-Speech</strong></a> con Microsoft Translator. Ad un certo punto, il servizio ha iniziato a restituire il codice di errore <em>400</em> (<em>Bad Request</em>) ad ogni mia richiesta: l’unica cosa che riuscivo ad ottenere era la lista dei linguaggi supportati dal Text-To-Speech.</p> <p>Dopo aver fatto qualche ricerca, sono arrivato alla pagina <a href="https://datamarket.azure.com/dataset/1899a118-d202-492c-aa16-ba21c33c06cb" target="_blank">Microsoft Translator</a> 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.</p> <p>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 <a href="https://datamarket.azure.com/developer/applications/" target="_blank">https://datamarket.azure.com/developer/applications/</a>, 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.</p> <div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:c88f836e-76ff-4ad7-9405-d37dc10b6a89" class="wlWriterEditableSmartContent">Tag di Technorati: <a href="http://technorati.com/tags/.NET" rel="tag">.NET</a>,<a href="http://technorati.com/tags/Programming" rel="tag">Programming</a>,<a href="http://technorati.com/tags/C%23" rel="tag">C#</a>,<a href="http://technorati.com/tags/VB+.NET" rel="tag">VB .NET</a>,<a href="http://technorati.com/tags/WPF" rel="tag">WPF</a>,<a href="http://technorati.com/tags/Windows+Phone" rel="tag">Windows Phone</a></div><img src="http://blogs.ugidotnet.org/marcom/aggbug/100962.aspx" width="1" height="1" /> Marco Minerva http://blogs.ugidotnet.org/marcom/archive/2012/04/18/microsoft-translator-la-sottoscrizione-al-servizio-egrave-diventata-obbligatoria.aspx Wed, 18 Apr 2012 21:45:10 GMT http://blogs.ugidotnet.org/marcom/archive/2012/04/18/microsoft-translator-la-sottoscrizione-al-servizio-egrave-diventata-obbligatoria.aspx#feedback http://blogs.ugidotnet.org/marcom/comments/commentRss/100962.aspx http://blogs.ugidotnet.org/marcom/services/trackbacks/100962.aspx Traduzioni localizzate dei messaggi di errore http://blogs.ugidotnet.org/marcom/archive/2012/04/06/traduzioni-localizzate-dei-messaggi-di-errore.aspx <p>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.</p> <p>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.</p> <p>Ecco allora che <a href="http://www.finderr.net/" target="_blank"><strong>FindErr.NET</strong></a> 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.</p> <div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:0c78fb5d-8f94-4e54-9a05-77c640dd03cc" class="wlWriterEditableSmartContent">Tag di Technorati: <a href="http://technorati.com/tags/.NET" rel="tag">.NET</a>,<a href="http://technorati.com/tags/Programming" rel="tag">Programming</a>,<a href="http://technorati.com/tags/C%23" rel="tag">C#</a>,<a href="http://technorati.com/tags/VB.NET" rel="tag">VB.NET</a>,<a href="http://technorati.com/tags/Silverlight" rel="tag">Silverlight</a>,<a href="http://technorati.com/tags/ASP.NET" rel="tag">ASP.NET</a>,<a href="http://technorati.com/tags/WPF" rel="tag">WPF</a>,<a href="http://technorati.com/tags/WCF" rel="tag">WCF</a></div><img src="http://blogs.ugidotnet.org/marcom/aggbug/100928.aspx" width="1" height="1" /> Marco Minerva http://blogs.ugidotnet.org/marcom/archive/2012/04/06/traduzioni-localizzate-dei-messaggi-di-errore.aspx Fri, 06 Apr 2012 19:21:11 GMT http://blogs.ugidotnet.org/marcom/archive/2012/04/06/traduzioni-localizzate-dei-messaggi-di-errore.aspx#feedback 1 http://blogs.ugidotnet.org/marcom/comments/commentRss/100928.aspx http://blogs.ugidotnet.org/marcom/services/trackbacks/100928.aspx Interessante post sull&rsquo;utilizzo dei Task in .NET 4.0 http://blogs.ugidotnet.org/marcom/archive/2012/02/18/interessante-post-sullrsquoutilizzo-dei-task-in-.net-4.0.aspx <p>Girovagando su Internet, ho trovato un <a href="http://reedcopsey.com/2010/03/26/parallelism-in-net-part-16-creating-tasks-via-a-taskfactory/" target="_blank">articolo</a> che illustra in maniera molto semplice l'utilizzo della classe <a href="http://msdn.microsoft.com/en-us/library/system.threading.tasks.task.aspx" target="_blank">Task</a>. Gli esempi forniti permettono di comprendere immediatamente la potenza di questo oggetto.</p> <p>Esso fa parte di una serie di 20 post, <a href="http://reedcopsey.com/series/parallelism-in-net4/" target="_blank"><strong>Parallelism in .NET</strong></a>, dedicati alla <a href="http://msdn.microsoft.com/en-us/library/dd460717.aspx" target="_blank">Task Parallel Library</a> e a <a href="http://msdn.microsoft.com/en-us/library/dd460688.aspx" target="_blank">PLINQ</a>. Caldamente consigliato a chi vuote approfondire l’argomento (quindi spero la maggior parte dei programmatori .NET…).</p> <div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:a46a48e4-1db1-44dd-b2fd-8d0b4dcf66f8" class="wlWriterEditableSmartContent">Tag di Technorati: <a href="http://technorati.com/tags/.NET" rel="tag">.NET</a>,<a href="http://technorati.com/tags/Programming" rel="tag">Programming</a>,<a href="http://technorati.com/tags/C%23" rel="tag">C#</a>,<a href="http://technorati.com/tags/VB+.NET" rel="tag">VB .NET</a>,<a href="http://technorati.com/tags/Silverlight" rel="tag">Silverlight</a>,<a href="http://technorati.com/tags/WPF" rel="tag">WPF</a>,<a href="http://technorati.com/tags/ASP+.NET" rel="tag">ASP .NET</a></div><img src="http://blogs.ugidotnet.org/marcom/aggbug/100780.aspx" width="1" height="1" /> Marco Minerva http://blogs.ugidotnet.org/marcom/archive/2012/02/18/interessante-post-sullrsquoutilizzo-dei-task-in-.net-4.0.aspx Sat, 18 Feb 2012 19:25:31 GMT http://blogs.ugidotnet.org/marcom/archive/2012/02/18/interessante-post-sullrsquoutilizzo-dei-task-in-.net-4.0.aspx#feedback http://blogs.ugidotnet.org/marcom/comments/commentRss/100780.aspx http://blogs.ugidotnet.org/marcom/services/trackbacks/100780.aspx Controllo ortografico con WPF http://blogs.ugidotnet.org/marcom/archive/2012/02/11/controllo-ortografico-con-wpf.aspx <p>Una cosa forse non molto conosciuta è che WPF supporta il <strong>controllo ortografico</strong> durante la digitazione per i controlli <a href="http://msdn.microsoft.com/en-us/library/system.windows.controls.textbox.aspx" target="_blank">TextBox</a> e <a href="http://msdn.microsoft.com/en-us/library/system.windows.controls.richtextbox.aspx" target="_blank">RichTextBox</a>. Per abilitarlo, è sufficiente impostare la relativa attached property <a href="http://msdn.microsoft.com/en-us/library/system.windows.controls.spellcheck.isenabled.aspx" target="_blank">SpellCheck.IsEnabled</a> su true. Inoltre, tramite la proprietà <a href="http://msdn.microsoft.com/en-us/library/system.windows.frameworkelement.language.aspx" target="_blank">Language</a>, è impossibile impostare la lingua del correttore:</p> <div style="border-bottom: silver 1px solid; text-align: left; border-left: silver 1px solid; padding-bottom: 4px; line-height: 12pt; background-color: #f4f4f4; margin: 20px 0px 10px; padding-left: 4px; width: 97.5%; padding-right: 4px; font-family: consolas, 'Courier New', courier, monospace; direction: ltr; max-height: 200px; font-size: 8pt; overflow: auto; border-top: silver 1px solid; cursor: text; border-right: silver 1px solid; padding-top: 4px" id="codeSnippetWrapper"> <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px" id="codeSnippet"><span style="color: #0000ff">&lt;</span><span style="color: #800000">TextBox</span> <span style="color: #ff0000">SpellCheck</span>.<span style="color: #ff0000">IsEnabled</span><span style="color: #0000ff">="True"</span> <span style="color: #ff0000">Language</span><span style="color: #0000ff">="en-US"</span> <span style="color: #ff0000">Height</span><span style="color: #0000ff">="25"</span> <span style="color: #ff0000">Width</span><span style="color: #0000ff">="200"</span> <span style="color: #0000ff">/&gt;</span></pre> <br /></div> <p>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.</p> <p>L’oggetto <a href="http://msdn.microsoft.com/en-us/library/system.windows.controls.spellcheck.aspx" target="_blank">SpellCheck</a> espone anche un’altra proprietà interessante, <a href="http://msdn.microsoft.com/en-us/library/system.windows.controls.spellcheck.customdictionaries.aspx" target="_blank">CustomDictionaries</a>, 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.</p> <div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:d8cc1f93-4303-4505-8a38-34ee6083786f" class="wlWriterEditableSmartContent">Tag di Technorati: <a href="http://technorati.com/tags/.NET" rel="tag">.NET</a>,<a href="http://technorati.com/tags/Programming" rel="tag">Programming</a>,<a href="http://technorati.com/tags/WPF" rel="tag">WPF</a></div><img src="http://blogs.ugidotnet.org/marcom/aggbug/100767.aspx" width="1" height="1" /> Marco Minerva http://blogs.ugidotnet.org/marcom/archive/2012/02/11/controllo-ortografico-con-wpf.aspx Sat, 11 Feb 2012 17:42:37 GMT http://blogs.ugidotnet.org/marcom/archive/2012/02/11/controllo-ortografico-con-wpf.aspx#feedback 1 http://blogs.ugidotnet.org/marcom/comments/commentRss/100767.aspx http://blogs.ugidotnet.org/marcom/services/trackbacks/100767.aspx Finestre WPF senza icona http://blogs.ugidotnet.org/marcom/archive/2012/01/07/finestre-wpf-senza-icona.aspx <p>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à <a href="http://msdn.microsoft.com/en-us/library/system.windows.forms.form.showicon.aspx" target="_blank">ShowIcon</a> di una Windows Form su <strong>false</strong>).</p> <p>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 href="http://blogs.msdn.com/b/wpfsdk/archive/2007/08/02/a-wpf-window-without-an-window-icon-the-thing-you-click-to-get-the-system-menu.aspx" target="_blank">A WPF Window Without a Window Icon (the thing you click to get the system menu)</a>.</p> <p>In sintesi, si deve eseguire l'override del metodo <a href="http://msdn.microsoft.com/en-us/library/system.windows.window.onsourceinitialized.aspx" target="_blank">OnSourceInitialized</a> ed utilizzare il Platform Invoke per modificare lo stile della finestra.</p> <div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:877af6d3-7706-44f1-b676-026c3b655d17" class="wlWriterEditableSmartContent">Tag di Technorati: <a href="http://technorati.com/tags/.NET" rel="tag">.NET</a>,<a href="http://technorati.com/tags/Programming" rel="tag">Programming</a>,<a href="http://technorati.com/tags/C%23" rel="tag">C#</a>,<a href="http://technorati.com/tags/WPF" rel="tag">WPF</a></div><img src="http://blogs.ugidotnet.org/marcom/aggbug/100676.aspx" width="1" height="1" /> Marco Minerva http://blogs.ugidotnet.org/marcom/archive/2012/01/07/finestre-wpf-senza-icona.aspx Sat, 07 Jan 2012 15:23:33 GMT http://blogs.ugidotnet.org/marcom/archive/2012/01/07/finestre-wpf-senza-icona.aspx#feedback 1 http://blogs.ugidotnet.org/marcom/comments/commentRss/100676.aspx http://blogs.ugidotnet.org/marcom/services/trackbacks/100676.aspx Interfaccia ICommand con Mango http://blogs.ugidotnet.org/marcom/archive/2011/11/23/interfaccia-icommand-con-mango.aspx <p>Oggi pomeriggio un collega mi ha chiesto come utilizzare l’interfaccia <a href="http://msdn.microsoft.com/en-us/library/system.windows.input.icommand(VS.95).aspx" target="_blank"><strong>ICommand</strong></a> in Windows Phone Mango. Gli ho così girato il link ad un <a href="http://jesseliberty.com/2011/05/02/coming-in-mangoicommand/" target="_blank">post</a> 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.</p> <div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:648841e5-bb85-4c7d-bf81-669790da1d67" class="wlWriterEditableSmartContent">Tag di Technorati: <a href="http://technorati.com/tags/.NET" rel="tag">.NET</a>,<a href="http://technorati.com/tags/Programming" rel="tag">Programming</a>,<a href="http://technorati.com/tags/WPF" rel="tag">WPF</a></div><img src="http://blogs.ugidotnet.org/marcom/aggbug/100547.aspx" width="1" height="1" /> Marco Minerva http://blogs.ugidotnet.org/marcom/archive/2011/11/23/interfaccia-icommand-con-mango.aspx Wed, 23 Nov 2011 00:26:39 GMT http://blogs.ugidotnet.org/marcom/archive/2011/11/23/interfaccia-icommand-con-mango.aspx#feedback 1 http://blogs.ugidotnet.org/marcom/comments/commentRss/100547.aspx http://blogs.ugidotnet.org/marcom/services/trackbacks/100547.aspx ObservableDictionary per WPF http://blogs.ugidotnet.org/marcom/archive/2011/11/21/observabledictionary-per-wpf.aspx <p>Sul blog <a href="http://blogs.microsoft.co.il/blogs/shimmy/" target="_blank">Shimmy on .NET</a> è disponibile l’implementazione di un <a href="http://blogs.microsoft.co.il/blogs/shimmy/archive/2010/12/26/observabledictionary-lt-tkey-tvalue-gt-c.aspx" target="_blank">ObservableDictionary</a> per WPF.</p> <div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:7a04a6d5-3396-47b1-828b-36717f6f6530" class="wlWriterEditableSmartContent">Tag di Technorati: <a href="http://technorati.com/tags/.NET" rel="tag">.NET</a>,<a href="http://technorati.com/tags/Programming" rel="tag">Programming</a>,<a href="http://technorati.com/tags/C%23" rel="tag">C#</a>,<a href="http://technorati.com/tags/WPF" rel="tag">WPF</a></div><img src="http://blogs.ugidotnet.org/marcom/aggbug/100544.aspx" width="1" height="1" /> Marco Minerva http://blogs.ugidotnet.org/marcom/archive/2011/11/21/observabledictionary-per-wpf.aspx Mon, 21 Nov 2011 20:14:36 GMT http://blogs.ugidotnet.org/marcom/archive/2011/11/21/observabledictionary-per-wpf.aspx#feedback 4 http://blogs.ugidotnet.org/marcom/comments/commentRss/100544.aspx http://blogs.ugidotnet.org/marcom/services/trackbacks/100544.aspx [70-511] Una piccola nota sul Drag and Drop del contenuto di TextBox in WPF http://blogs.ugidotnet.org/marcom/archive/2011/06/10/70-511-una-piccola-nota-sul-drag-and-drop-del-contenuto.aspx <p>Il Self-Paced Training Kit per l’esame <a href="http://www.microsoft.com/learning/en/us/exam.aspx?ID=70-511" target="_blank">70-511</a>, <strong>Windows Applications Development with Microsoft .NET Framework 4</strong>, 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 <a href="http://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.textbox.aspx" target="_blank">TextBox</a>: 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 <a href="http://msdn.microsoft.com/en-us/library/system.windows.dragdrop.dodragdrop.aspx" target="_blank">DragDrop.DoDragDrop</a> nell’evento <a href="http://msdn.microsoft.com/en-us/library/system.windows.uielement.previewmouseleftbuttondown.aspx" target="_blank">TextBox.PreviewMouseLeftButtonDown</a>, il testo contenuto nella casella viene copiato e immediatamente incollato nell’esatta posizione in cui si trova il cursore.</p> <div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:0f22f606-ad9f-46f7-a4ee-7c52efcac481" class="wlWriterEditableSmartContent">Tag di Technorati: <a href="http://technorati.com/tags/.NET" rel="tag">.NET</a>,<a href="http://technorati.com/tags/Programming" rel="tag">Programming</a>,<a href="http://technorati.com/tags/Visual+Studio" rel="tag">Visual Studio</a>,<a href="http://technorati.com/tags/Certification" rel="tag">Certification</a>,<a href="http://technorati.com/tags/C%23" rel="tag">C#</a>,<a href="http://technorati.com/tags/VB+.NET" rel="tag">VB .NET</a></div><img src="http://blogs.ugidotnet.org/marcom/aggbug/100119.aspx" width="1" height="1" /> Marco Minerva http://blogs.ugidotnet.org/marcom/archive/2011/06/10/70-511-una-piccola-nota-sul-drag-and-drop-del-contenuto.aspx Fri, 10 Jun 2011 00:08:57 GMT http://blogs.ugidotnet.org/marcom/archive/2011/06/10/70-511-una-piccola-nota-sul-drag-and-drop-del-contenuto.aspx#feedback 5 http://blogs.ugidotnet.org/marcom/comments/commentRss/100119.aspx http://blogs.ugidotnet.org/marcom/services/trackbacks/100119.aspx