posts - 315, comments - 268, trackbacks - 15

My Links

News

View Pietro Libro's profile on LinkedIn

DomusDotNet
   DomusDotNet

Pietro Libro

Tag Cloud

Article Categories

Archives

Post Categories

Blogs amici

Links

WPF

ASP.NET 4.5 e WebSocket: Real Time e Two-Way (parte 1)

Chi sviluppa per il Web, si scontra ogni giorno con le “limitazioni” del modello request-response di HTTP, il quale non è pensato “ad hoc” per applicazioni real time, o comunicazione bidirezionale client-server. Per questi scenari, spesso vengono utilizzate tecniche di polling, da parte del client, per verificare l’eventuale presenza di dati “freschi”, eseguendo continuamente delle richieste HTTP, comportando dei “costi”: il server deve utilizzare differenti connessioni TCP per ogni client (una per inviare informazioni ed una per rispondere alla richiesta di aggiornamenti), un continuo scambio di messaggi client-server (comportando quindi un aumento del traffico di rete). Potrebbe sembrare cosa da...

posted @ venerdì 7 settembre 2012 07:58 | Feedback (0) | Filed Under [ C# ASP.NET WPF .Net Framework 4.5 ]

Bing Maps WPF Control (Beta)

SDK per utilizzare le mappe di Bing all’interno delle nostre applicazioni WPF. Una volta installato, è sufficiente trascinare il controllo “Map” all’interno del Designer di WPF e scrivere praticamente nulla, piccolo esempio: <my:Map HorizontalAlignment="Center" Margin="0" Name="map1" VerticalAlignment="Center" Height="270" Width="500" CredentialsProvider="BING_KEY" Mode="AerialWithLabels" Center="41.90,12.60" ZoomLevel="10" /> Ovviamente per l’utilizzo è necessario essere in possesso di una Bing Map Key. Download del controllo qui.

posted @ mercoledì 24 agosto 2011 12:24 | Feedback (0) | Filed Under [ C# WPF .Net Framework 4.0 ]

WPF, Windows Xp e file .ico

Post promemoria. Se dopo aver deployato con ClickOnce un’applicazione WPF  (composta da due WPF Windows, senza nessuna forma di connessione a database) all’avvio si riscontra un errore del tipo: Application: X Framework Version: v4.0.30319 Description: The process was terminated due to an unhandled exception. Exception Info: System.Windows.Markup.XamlParseException Stack:    at System.Windows.Markup.XamlReader.RewrapException(System.Exception, System.Xaml.IXamlLineInfo, System.Uri)    at System.Windows.Markup.WpfXamlLoader.Load(System.Xaml.XamlReader, System.Xaml.IXamlObjectWriterFactory, Boolean, System.Object, System.Xaml.XamlObjectWriterSettings, System.Uri) …. Allora è importante verificare che l’applicazione...

posted @ mercoledì 3 agosto 2011 11:35 | Feedback (0) | Filed Under [ WPF .Net Framework 4.0 ]

In the box - MVVM Training

What is In the Box? In the Box is a high quality, multi-media training that is consumed within Visual Studio 2010.  Content is navigated and delivered using a next generation computer based training (CBT) experience, the Visual Studio 2010 Feature Extension Link: In the Box – MVVM Training

posted @ martedì 7 dicembre 2010 07:31 | Feedback (2) | Filed Under [ WPF .Net Framework 4.0 ]

WPF: System.Windows.Threading.Dispatcher e BeginInvoke

Spesso, quando si lavora con applicazioni multithread (soprattutto in applicazioni Windows Form), siamo abituati a ricorrere alla proprietà InvokeRequierd dei controlli per verificare se il thread chiamante è proprietario del controllo o se lo è un altro, e   nel caso, utilizzare un delegate per utilizzare la proprietà del controllo a cui siamo interessati.  Per un elemento WPF  dobbiamo utilizzare un’istanza di della classe System.Windows.Threading.Dispatcher, presente tra le proprietà che un elemento WPF espone. Ad esempio, supponiamo di utilizzare un’istanza della classe System.Timers.Timer per visualizzare l’ora corrente in un elemento Label: ...

posted @ sabato 28 agosto 2010 20:12 | Feedback (0) | Filed Under [ WPF ]

WPF: PriorityBinding

  Può capitare di dover mostrare un risultato non  immediatamente disponibile per la lettura, perché, ad esempio, il suo valore dipende da altri parametri e deve quindi essere calcolato. A tal fine, vogliamo mostrare un messaggio all’utente per indicare che l’applicazione è in esecuzione e che non è in una fase di stallo,  qualcosa di simile quando utilizziamo un UpdateProgress dell’Ajax Control Toolkit (o corrispondenti soluzioni custom) nelle nostre pagine Web. In WPF, possiamo utilizzare il PriorityBiding per fare qualcosa di simile (ma non solo). Il PriorityBinding permette di associare ad una proprietà di un elemento, un elenco di...

posted @ mercoledì 7 aprile 2010 12:07 | Feedback (0) | Filed Under [ WPF ]

WPF: Control Template

In WPF, l'aspetto grafico di un controllo può essere cambiato utilizzando un Control Template, ovvero un'insieme di risorse, triggers ed elementi che descrivono il comportamento grafico del controllo. I Control Template sono utili ogni qual volta si vuole modificare l'aspetto grafico di un controllo, ma allo stesso tempo conservare le funzionalità del controllo stesso. Senza WPF, magari saremmo costretti a costruire un nuovo controllo replicando funzionalità e riscrivendo del codice funzionante. Supponiamo ad esempio di voler cambiare l'aspetto del solito controllo Button, rendendolo fashion e trendy. Quello che vogliamo ottenere è qualcosa del tipo:   Nella...

posted @ giovedì 6 novembre 2008 14:05 | Feedback (0) | Filed Under [ WPF ]

WPF: Style, Trigger e Multitrigger

Supponiamo di avere una Window WPF, contentente un singolo controllo TextBox. Vogliamo, senza utilizzare il code-behind, che a secondo del contenuto del TextBox, questo cambi il colore di background. Nello specifico, se nel TextBox c'è scritto "SI", il Background deve essere Verde, se c'è scritto "NO" rosso. Piccola prefazione: uno Style, è generalmente un'insieme di proprietà che applicato ad un'insieme di contenuti quali testi o immagini, ne determina l'aspetto grafico. Parlando di Style, in WPF, questo non è solo un semplice insieme di proprietà, dato che, include comportamenti specifici come la possibilità di cambiare l'aspetto di un controllo basandosi sugli...

posted @ mercoledì 17 settembre 2008 12:15 | Feedback (0) | Filed Under [ WPF ]

WPF: XmlDataProvider

Supponiamo di avere un file XML molto semplice, del tipo: 1 <?xml version="1.0" encoding="utf-8" ?> 2 <books> 3 <book id="1"> 4 <title>Introducing To Microsoft LINQ</title> 5 <isbn>43554354523</isbn> 6 </book> 7 <book id="2"> 8 <title>Pro WPF Windows Presentation Foundation in dot NET 3.0</title> 9 <isbn>232132142</isbn> 10 </book> 11 <book id="3"> 12 <title>Foundations of F#</title> 13 <isbn>772337271</isbn> 14 </book> 15 <book id="4"> 16 ...

posted @ domenica 31 agosto 2008 12:43 | Feedback (2) | Filed Under [ C# WPF ]

WPF + LINQ + CollectionViewSource = Rss Reader

Questo post è nato con uno scopo diverso da quello dell'implementazione di un Rss Reader, dato che, è sufficiente cercare su internet per trovarne di belli e pronti, ma per enfatizzare alcune proprietà molto interessanti dei controlli WPF, come  la possibilità di eseguire il raggruppamento dei dati nei controlli ListBox o ListView. Piccola parentesi: per chi volesse conoscere in dettaglio le specifiche RSS 2.0 le può trovare qui. Iniziamo sviluppando un set di classi come riassunto dal seguente Class Diagram: Nel resto dell'esempio saranno prese in considerazione solo istanze di tipo Rss e RssItem. Generalmente, senza...

posted @ mercoledì 27 agosto 2008 14:30 | Feedback (9) | Filed Under [ LINQ WPF ]

WPF 3.5 SP1: Bindable WebBrowser

Se in una nostra WPF Windows Application abbiamo la necessità di utilizzare il nuovo controllo WebBrowser  per visualizzare del codice HTML, possiamo percorrere due strade, secondo delle nostre esigenze: 1) Il codice HTML deve essere visualizzato (ad esempio) sull'evento click di un controllo button: possiamo utilizzare i metodi NavigateToString(string text) o NavigateToStream(System.IO.Stream stream). Ad esempio, se scriviamo: 1 WebBrowserInstance.NavigateToString("<h2>Prova</h2><p>Ciao</p>"); otteniamo: dove il codice XAML è: 1 <WebBrowser ClipToBounds="True" Name="WebBrowserInstance"></WebBrowser> 2) Se il codice HTML da visualizzare è ottenuto dinamicamente, sembra non essere presente (attualmente) un modo diretto per bindare il codice HTML ad una...

posted @ domenica 17 agosto 2008 17:16 | Feedback (3) | Filed Under [ WPF ]

WPF: Binding tra controlli

Post dopo studio. Un interessante funzionalità del motore di binding in WPF è quella di permettere il binding tra proprietà di elementi. Ad esempio, supponiamo di avere una Window Form VPW  con due controlli TextBox (txtOne e txtTwo). Vogliamo che al cambiare del Background della prima, venga cambiato automaticatimente anche il Background della seconda (senza scrivere una riga di codice C#/VB.NET). Il codice XAML che effettua questa "magia" è il seguente:   1 <TextBox Margin="57,127,53,112" Name="txtOne" Background="Sienna" /> 2 <TextBox Margin="57,156,53,83" Name="txtTwo" Background="{Binding Path=Background, ElementName=txtOne}" />   Il risultato del binding che si ottiene può essere verificato anche a design-time cambiando il colore di...

posted @ martedì 29 luglio 2008 10:26 | Feedback (0) | Filed Under [ WPF ]

LocalPrintServer

Studiavo le proprietà di questa classe,  la quale rappresenta, cito la documentazione MSDN : "il server di stampa locale (il computer sul quale l'applicazione è in esecuzione)" . Quest'oggetto molto interessante, permette la gestione delle code di stampa oltre a poter ottenere l'insieme delle stampanti locali con relative proprietà. Per questo semplice compito sono sufficienti poche righe di codice : 1 private void Window_Loaded(object sender, RoutedEventArgs e) 2 { 3 LocalPrintServer ps = new LocalPrintServer(); 4 5 PrintQueueCollection printCollection = ps.GetPrintQueues(); 6 7 ...

posted @ venerdì 11 luglio 2008 14:32 | Feedback (0) | Filed Under [ WPF ]

Spellchecking

In WPF, i controlli TextBox e Richtextbox, integrano un servizio di Spellchecking, simile a quello di Microsoft Word (la classica linea rossa ad onde visualizzata quando si sbaglia a digitare del testo per la lingua impostata). E' possibile abilitare queste funzionalità impostando le relative proprietà nel file XAML: 1 <TextBox Margin="16,152,24,51" xml:lang="EN" Name="textBox1" AcceptsReturn="True" SpellCheck.IsEnabled= "True"/> Oppure nel code-behind: 1 txtSpell.Language = System.Windows.Markup.XmlLanguage.GetLanguage("EN"); 2 txtSpell.SpellCheck.IsEnabled = true; Se come nell'esempio impostiamo la lingua inglese, digitando  Helllo Worlld! Nella TextBox, a video il controllo si presenterà come: Technorati Tag: Spellchecking

posted @ mercoledì 9 luglio 2008 10:06 | Feedback (0) | Filed Under [ WPF ]

Powered by:
Powered By Subtext Powered By ASP.NET