Posts
165
Comments
253
Trackbacks
1
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 13.05 | Feedback (0)
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 11.15 | Feedback (0)
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 11.43 | Feedback (2)
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 13.30 | Feedback (9)
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 16.16 | Feedback (3)
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 9.26 | Feedback (0)
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 13.32 | Feedback (0)
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 9.06 | Feedback (0)
News

View Pietro Libro's profile on LinkedIn

Pietro Libro