Technology Experience (Reborn 3)

Contenuti gestiti da Igor Damiani
posts - 895, comments - 1334, trackbacks - 81

My Links

News














  • Questo blog nasce dalle ceneri del mio blog tecnico su UGIdotNET. In questo blog voglio raccontare la mia vita, ovvero quello che non mi sento più di raccontare da nessun'altra parte. Non sono solo un programmatore, dannazione: sono una persona che ha una terribile passione per il proprio lavoro. Ma anche passione per la vita, per le donne, per la birra, per la mia Fiat 500, per il sole ed il mare, per la scrittura, per qualche risata con gli amici, per i sentimenti. Qua troverete tutto questo: buona lettura!.

    23/04/2007,
    Sant'Angelo Lodigiano

Tag Cloud

Archives

Post Categories

Amici

WPF

There are 50 entries for the tag WPF
Usare in un DataTemplateSelector un ResourceDictionary definito in un file XAML

Ok, il titolo di questo post è più confuso che altro. Amen. Nei giorni scorsi ho creato una class library per .NET Framework 3.5, all’interno del quale ci sono Windows in XAML, ResourceDictionary, immagini e video. C’è anche una bella classe TagDataTemplateSelector, che eredita da DataTemplateSelector. Come ben sa chi sviluppa in WPF, una classe figlia di DataTemplateSelector ha un metodo pubblico SelectTemplate, che restituisce un DataTemplate piuttosto che un altro, in base alla logica che implementiamo nel metodo stesso. Questo serve ad esempio se avete una ListBox e volete applicare un template differente per ogni elemento: supponiamo...

posted @ martedì 29 luglio 2008 17.45 | Feedback (3) | Filed Under [ .NET World ]

Aggiornamenti su VivendoByte Technorati Tags

Ogni tanto vi tedio parlandovi del plug-in per Windows Live Writer che mi sono scritto in WPF per poter “compilare” velocemente i tags con cui marcare i post che poi finiscono dritti dritti sul mio blog. Ricordo che questo plug-in fa parte di una piccola suite che ho pubblicato su CodePlex: i sorgenti sono pubblici e tutti voi potete utilizzarlo. Anzi, se mi trovate qualche baco, segnalatemelo! Ve ne parlo perchè nel frattempo qualcosa è cambiato. Vediamo di spiegare cosa e perchè. L’elenco di tags che il plug-in vi mostra arriva direttamente dal web-service esposto da Technorati.com. Questo...

posted @ venerdì 18 luglio 2008 16.34 | Feedback (0) | Filed Under [ .NET World ]

WPF Application Quality Guide v.0.2

Se siete sviluppatori WPF, non potete non dare un'occhiata a questo documento che fornisce una miriade di best practices su come sviluppare applicazione con Windows Presentation Foundation. Buona parte del documento è dedicato all'Automated Testing delle interfacce grafiche, dei media e delle animazioni 3D. Si parla di sicurezza, di globalizzazione e di localizzazione e molto altro ancora. Interessante. Fate riferimento a questo post su MSDN Blogs: da qui potete anche scaricare il documento in formato Word. Technorati Tags: wpf Programming guidance testing

posted @ giovedì 8 maggio 2008 22.27 | Feedback (0) | Filed Under [ Software ]

WPF: accelerare un'animazione per arrivare velocemente alla fine

In un'applicazione WPF che sto programmando nel tempo libero ho creato un'animazione che parte automaticamente all'apertura della Window principale dell'applicazione stessa. Essa prepara l'interfaccia utente con un po' di "effetti speciali": il titolo dell'applicazione appare con un fade-in stessa cosa per il background, ma con un leggero ritardo rispetto al titolo altre scritte appaiono ruotando e spostandosi velocemente sullo schermo, posizionandosi vicino al titolo poi appare il menù principale, anch'esso con un fade-in il logo VivendoByte viene posizionato in basso a destra sullo schermo...

posted @ mercoledì 23 aprile 2008 23.12 | Feedback (1) | Filed Under [ .NET World ]

Il supporto di WPF ai files audio: uffa!

Sinceramente? Sarò anche stanco - in questi giorni le giornate lavorative sono più movimentate del solito - però arrivare a sera e vedere che la classe SoundPlayer (namespace System.Media) di Windows Presentation Foundation non mi fa il play di un normale file audio .wav creato domenica mattina con WaveStudio francamente mi lascia senza parole. Non so se leggete bene l'exception, ma mi viene detto che il file wave che ho passato al metodo PlaySound() deve essere nel formato PCM. Che tristezza! Ora: ci vorrebbe un attimo ad aprire il file .wav con WaveStudio e vedere...

posted @ martedì 8 aprile 2008 23.04 | Feedback (1) | Filed Under [ Software ]

WPF: come creare ed usare le 'tile brush' con Expression Blend

Sono stanco, perciò la farò breve. Innanzitutto, cos'è una tile brush? E' un'immagine che viene usata come texture per riempire una superficie di qualche tipo. Immaginate di cercare immagini su google usando le stringhe "wood texture". Troverete immagini 512x512, 300x300, 256x256 con superfici legnose che potete usare come background dei controlli o degli oggetti grafici delle vostre applicazioni. Comodo. IMPORTANTE. il mio è solo un esempio, non è che potete andare su Google e scaricare tutte le immagini che volete: occhio ai diritti di autore, alle immagini protette da copyright e via dicendo. Comunque, supponete di aver...

posted @ lunedì 7 aprile 2008 23.06 | Feedback (0) | Filed Under [ Software ]

Nuova versione per il VivendoByte WPF Technorati Tags

Questa mattina ho corretto ed uploadato l'ultima versione del VivendoByte WPF Technorati Tags, il plug-in per Windows Live Writer di cui avevo già parlato in passato. Usandolo avevo scoperto un piccolo bug. Come sapete, potete indicare i tags con cui taggare un post in due modi: o scegliendolo dalla lista di tags scaricata dal servizio WCF di Technorati o scrivendoli a mano nel caso in cui dovete indicare nuovi tags non ancora usati Se non selezionavate nulla dalla lista ma i tags li scrivavate solo a mano...

posted @ lunedì 24 marzo 2008 11.07 | Feedback (0) | Filed Under [ .NET World ]

Esportare da Expression Design in un ResourceDictionary ed usarlo in Blend

Un'altra modalità con cui è possibile esportare un'immagine da Expression Design è quello di generare un file XAML contenente al suo interno un ResourceDictionary. Lo scopo è quello di avere un file XAML che potete riutilizzare in più progetti. Oppure all'interno dello stesso progetto potete far riferimento alla stessa immagine, perchè questa viene inserita fra le risorse globali definite all'interno della stessa applicazione. Vediamo in pratica come fare. Esportare un progetto Expression Design in un file XAML Apriamo Expression Design, poi apriamo il file .design che contiene il nostro progetto. Andiamo sotto il menù File e...

posted @ domenica 9 marzo 2008 12.10 | Feedback (0) | Filed Under [ .NET World ]

Esportare in XAML con Expression Design

Se dovete creare grafica vettoriale complessa potete usare Expression Design, un altro strumento della famiglia Expression. Questo software permette di disegnare grafica vettoriale in 2D: rettangoli, circonferenze, testo, ellissi, disegno a mano libera, etc. etc. Il tutto sfruttando le potenzialità di WPF, quindi effetti grafici come gradienti, drop shadows, emboss, mosaic e chi ne ha più ne metta. Per esempio, oggi pomeriggio, prima di andare in ospedale, ho ridisegnato il logo VivendoByte che qualche mese avevo creato con Corel Draw 12 proprio con Expression Design. Ecco qual'è il vantaggio: potete esportare l'immagine vettoriale che avete creato in codice XAML,...

posted @ sabato 8 marzo 2008 0.31 | Feedback (0) | Filed Under [ .NET World ]

WPF e Expression Blend: Inserire un video in 3D

Ingredienti: .NET Framework 3.0 minimo installato e funzionante Expression Blend 2 December Preview una Window un video supportato da WPF da visualizzare un'immagine temporanea (maggiori dettagli dopo) Cominciamo con il dire che la difficoltà della ricetta è alta, anche solo per il fatto che Blend ha il maledetto vizio di crashare un po' troppo. Si vede che siamo ancora in CTP con questo prodotto. Ricordatevi di premere CTRL+S ad ogni minima modifica, così potete eventualmente riprendere nel punto in cui vi siete...

posted @ giovedì 6 marzo 2008 22.59 | Feedback (4) | Filed Under [ .NET World ]

WPF: Accedere agli elementi di una ListBox con la classe ItemCollection

Ad una ListBox generalmente possiamo fornire oggetti da visualizzare in due modi differenti: o utilizziamo il data-binding con la proprietà ItemsSource oppure accedendo alla proprietà Items, attraverso la quale possiamo aggiungere/rimuovere/ricercare oggetti. La proprietà Items è di tipo ItemCollection, una classe che espone un'interfaccia davvero semplice e potente al tempo stesso. Supponiamo di avere una Window con una ListBox popolata in questo modo. Se volessimo accedere agli oggetti contenuti nella ListBox possiamo scrivere in C# quanto segue: 1 ItemCollection photos = ListPhotosSelected.Items; Possiamo sapere se la collection è vuota attraverso la proprietà IsEmpty. Possiamo navigare all'interno della...

posted @ sabato 1 marzo 2008 0.01 | Feedback (1) | Filed Under [ .NET World ]

Se il Binding di WPF non funziona...

Le forze vitali mi stanno abbandonando. Detto più terra terra: ho sonno. Ma ho trovato questo post che potrebbe darmi qualche spunto per debuggare le applicazioni WPF - semplici o meno semplici - che sto scrivendo. Prendiamo un semplice blocco XAML come questo: <TextBlock FontSize="12" Margin="4" Text="{Binding ElementName=tagsListBox, Path=SelectedItems.Count}" /> Lo XAML inserisce una TextBlock che visualizza il numero di elementi selezionati nella ListBox tagsListBox. La proprietà Path che ho specificato esprime la proprietà di cui voglio mostrare il valore; ricordo nel frattempo che WPF supporta le proprietà come dire...annidate...cioè posso separare con il punto fino a...

posted @ lunedì 4 febbraio 2008 23.08 | Feedback (1) | Filed Under [ .NET World ]

WPF con Expression Blend: ragionamenti e qualche link

E' da un po' che avevo installato sul mio Vista l'ultima release di Microsoft Expression Blend 2 - December Preview (EB2), ma non gli avevo mai dato un'occhiata seria. Vorrei provarci, anche se un certo Corrado mi ha detto che a lui non piace molto lo XAML generato da questo tool che però, volente o nolente, serve per essere un po' più produttivi con Windows Presentation Foundation. Ho letto l'elenco delle features. Alcune di queste sono quasi ovvie (Synchronized File Changes, Keyboard Shortcuts, Search Text Boxes), mentre altre sono decisamente più interessanti. Per esempio, con EB2 le soluzioni...

posted @ giovedì 31 gennaio 2008 22.42 | Feedback (0) | Filed Under [ .NET World ]

Unit Test sulle applicazioni WPF

Le applicazioni WPF sono normalissime applicazioni che, se ben progettate, possono essere unittestate come si fa con tutte le altre applicazioni. E' sufficiente mantenere una buona separazione tra oggetti business, strato di logica ed interfaccia grafica, e scrivere test adeguati automatizzati per misurare con efficacia la qualità della nostra applicazione. Non che la cosa sia semplice, è ovvio, altrimenti...cosa siamo qui a fare?? Se vi può interessare l'argomento, ecco un bell'articolo dal titolo Using MVC to Unit Test WPF Applications. Il titolo non lascia spazio a dubbi. 14 pagine stampate. Buona lettura! Link : http://www.codeproject.com/KB/WPF/MVCtoUnitTestinWPF.aspx...

posted @ lunedì 28 gennaio 2008 23.07 | Feedback (0) | Filed Under [ .NET World ]

Windows Live Writer plug-in: Flickr Browser

E' un po' di tempo che è online, ma questa sera trovo il tempo per parlarne. La mia suite di plug-in per Windows Live Writer contempla anche un plug-in per inserire le foto prese direttamente da Flickr. Anche questo plug-in è scritto - e verrà scritto - con Windows Presentation Foundation. Lo scopo è quello di fornire un'interfaccia per inserire dentro un post una fotografia disponibile su Flickr. Mi capita di scattare molte foto, e mi capita ancora più spesso di volerle inserire nei miei post per condividerle con tutti voi: si tratta delle mie vacanze, delle città...

posted @ giovedì 3 gennaio 2008 23.24 | Feedback (0) | Filed Under [ .NET World ]

Editor XAML : Kaxaml

Ho letto questa mattina il post di Corrado su Kaxaml, l'editor XAML per creare finestre/controlli ed in genere tutto quello che ha a che fare con WPF. Davvero un bell'editor, l'ho installato sul portatile (XP) e qualche minuto su anche a casa sotto Vista. Effettivamente, ha la stessa leggerezza di XamlPad ma è molto più potente. Ecco alcune caratteristiche che voglio segnalare: Intellisense durante l'editing dei files: impagabile Gestione degli snippet di codice Color Picker: scegliere un colore e lui vi dà il codice da incollare direttamente nello XAML ...

posted @ giovedì 3 gennaio 2008 21.21 | Feedback (0) | Filed Under [ .NET World ]

XamlPadX 3.0

XamlPad ha fatto qualche passo in avanti rispetto a quello che usavo io quando ho studiato WPF. Qui potete trovare la versione 3.0 del tool. Mettiamola così: si tratta sostanzialmente di un blocco note avanzato, che fa il parsing dello XAML che digitate che viene renderizzato immediatamente a video man mano che lo scrivete. Comodo per le cose semplici, e forse un po' ostico per chi non conosce XAML o se dovete fare particolarmente complesse. Le features sono salvataggio/caricamento dello XAML su disco, il supporto per plugins e - non ho potuto trattenere un WOW - lo splash screen...

posted @ mercoledì 19 dicembre 2007 19.38 | Feedback (0) | Filed Under [ .NET World ]

Insofferenza cronica verso lo sviluppo Web

All'ultimo workshop UGIdotNET del 13 Dicembre, Dino Esposito ha illustrato al meglio, e in un modo che solo lui può ottenere, qual'è il trend delle applicazioni future sul Web. Questo trend prende il nome di Silverlight. So poco o nulla di queste tecnologie Web, ma un'idea ce l'ho e non riesco a non dirvela più di tanto. Oggi è il 19, sono passati 6 giorni dal workshop e non ce la faccio più a stare zitto. La morale è che nelle versioni future, che oggi non sono nemmeno in alpha, Silverlight richiederà l'installazione del .NET Framework 3.0 sul PC...

posted @ mercoledì 19 dicembre 2007 19.28 | Feedback (6) | Filed Under [ .NET World ]

WPF: collaborazione tra designer e developer

WPF aiuterà sicuramente la suddivisione del lavoro tra programmatore puro e designer di UI, ma secondo me rimarrà ancora un'utopia per lungo tempo. Spero di sbagliarmi, e spero di leggere da qualche parte qualcosa che mi dica il contrario. Qui c'è un documento pdf da 32 pagine che dovrebbe spiegare come gestire al meglio il rapporto programmatore/designer, due ruoli che da sempre dovrebbero cercare di convivere per creare applicazioni (smart-client e Web) efficaci. Vediamo un po'! Technorati Tags: wpf Programming

posted @ domenica 16 dicembre 2007 22.59 | Feedback (0) | Filed Under [ Software ]

VivendoByte Technorati Tags in WPF

Nei giorni scorsi ho sviluppato la versione WPF del mio plug-in per Windows Live Writer capace di raccogliere i 100 tags più utilizzati sul vostro blog. Ricordo che la suite dei miei plug-in è hostata su CodePlex qui, per cui potete unirvi a me nello sviluppo. Ho idee ambiziose che riguardano Flickr ed altre cosucce simili. Ecco qui sotto lo screenshot della finestra principale: Il fatto di avere due diverse interfacce utente (Windows Forms e WPF) mi ha costretto a rivedere un po' alcune parti dell'applicazione: ho così creato un assembly che contiene...

posted @ venerdì 14 dicembre 2007 14.55 | Feedback (1) | Filed Under [ .NET World ]

L'ultimo numero di MSDN Magazine...

...mi fa impazzire. E' troppo bello ed appassionante. Ultimamente, lo ammetto, mi ha lasciato con l'amaro in bocca, perchè gli argomenti erano incentrati su ASP.Net, AJAX e Silverlight: tutti strumenti che meritano senz'altro il loro spazio. Ma a me personalmente lasciano l'amaro in bocca. Lo dico con onestà: alcune volte ho pensato di lasciarlo lì dov'è, è quasi come quando mi capitava anni fa di prendere Computer Programming o altre riviste di programmazione e di trovare articoli su linguaggi/tecnologie verso le quali nutrivo scarsa considerazione (SmallTalk, Delphi, per citarne qualcuno). Alla fin fine non le ho prese più, perchè...

posted @ lunedì 10 dicembre 2007 22.26 | Feedback (2) | Filed Under [ .NET World ]

WPF: L'importanza dell'evento MediaFailed

La classe MediaElement di Windows Presentation Foundation mette a disposizione l'evento MediaFailed, al quale possiamo sottoscriverci per gestire tutti i casi in cui il player di WPF non riesca per qualche motivo a renderizzare il contenuto impostato dal source, sia esso video ed audio. Questa sera, mentre il mio amico Fabio guidava, io ero di fianco a lui con il notebook aperto e ho buttato giù due linee di XAML. Eccole qua: 1 <StackPanel Orientation="Vertical"> 2 3 ...

posted @ mercoledì 5 dicembre 2007 23.39 | Feedback (0) | Filed Under [ .NET World ]

Ripetere all'infinito un filmato con XAML

Sto preparando una Window con WPF e XAML per mettere in attesa l'utente quando il software sta facendo qualcosa di piuttosto lungo, che potrebbe annoiarlo. L'operazione prevede la connessione ad un Web services con WCF per scaricare delle informazioni: la durata può variare dai 4 secondi in su, in base ai soliti parametri...qualità della connessione, velocità, etc. etc. Ho trovato tra i miei CD una vecchia licenza di Corel R.A.V.E., un software di animazione vettoriale: l'ho installato ed in un'oretta ho creato una piccola animazione, partendo dal logo VivendoByte che vedete in alto a sinistra sulle pagine del mio...

posted @ martedì 27 novembre 2007 22.43 | Feedback (0) | Filed Under [ .NET World ]

Siete bravi con Silverlight? Dimostratelo, è il vostro momento!

Se siete grafici, web-designer, web-developer e volete dimostrare di essere tosti con Silverlight, potete farlo partecipando al 1st European Silverlight Challenge, le cui iscrizioni sono state aperte oggi. Raggiungete il sito ufficiale della sfida, iscrivetevi e datevi da fare: la finale europea potrebbe essere vostra! La sfida è organizzata da Microsoft, da INETA e da XeDotNet, la community .NET in quel di Venezia. Se vi state chiedendo come partecipare, potete leggere il regolamento qua. La versione breve è: iscrivetevi, spedite il vostro lavoro in Silverlight entro il 28 Gennaio 2008 ed attendete i risultati entro il 12 Febbraio 2008. Tutto il...

posted @ martedì 27 novembre 2007 12.27 | Feedback (3) | Filed Under [ .NET World ]

La parte più ostica di WPF è il layout

Spesso e forse troppe volte leggo i pro ed i contro tra il classico Windows Forms e WPF, due tecnologie che io personalmente ritengo simili fra loro, soprattutto perchè tutto sommato si occupano di risolvere lo stesso problema, cioè quello della creazione di interfacce smart client efficaci e belle da vedere. WPF è ovviamente più moderno, offre molte cose in più che permettono di raggiungere risultati molto diversi e molto più piacevoli da vedere: parlo di tecniche proprie di WPF come gli stili, i triggers, le animazioni ed i tantissimi effetti grafici che possiamo sfruttare nativamente all'interno delle nostre applicazioni....

posted @ mercoledì 3 ottobre 2007 18.53 | Feedback (0) | Filed Under [ .NET World ]

Expression Blend 2 September Preview

Certo che vedere Commando su Rete 4 e intanto leggere blog e scaricare software, è proprio un bel piacere! :-) Ho appena scaricato la September Preview di Expression Blend, sebbene avessi già installato la versione precedente. Magari - mi son detto - posso installarlo in una directory diversa, così tengo due versioni in parallelo. Anche perchè una è la licenza MSDN, mentre l'altra è una trial, ed è destinata a scadere. Invece no: quando ho lanciato il setup di Blend 2, mi ha detto di disinstallare prima la versione vecchia e ovviamente l'installazione abortisce. Technorati Tags: programming WPF Expression

posted @ lunedì 17 settembre 2007 22.32 | Feedback (0) | Filed Under [ Software ]

Grazie Petzold, è arrivato anche a me!

Dopo Corrado ed Andrea, anche io mi aggiungo alla lista di quelli che hanno ricevuto dal mitico Charles Petzold il suo ultimo libro "3D Programming for Windows", dedicato completamente alla programmazione grafica 3D con WPF. Insieme al libro, mi è arrivata la spedizione di MSDN ed il numero di ottobre di MSDN Magazine. Qui sotto ho riportato la dedica che lo stesso Charles ha messo a mano sui libri che ha voluto regalare ai blogger di WPF:   Ne farò tesoro, Charles, o almeno...lo spero! Technorati Tags: book programming WPF

posted @ lunedì 17 settembre 2007 21.25 | Feedback (0) | Filed Under [ My daily work ]

Domain Model, NHibernate (con lazy load = true) e WPF

Prevedo la stesura di un post piuttosto lungo. Cominciamo dagli ingredienti: Un'entità sul nostro domain model (Artista) definita in un assembly (DomainModel) Un assembly (DataAccessLayer) con un po' di classi che, tramite NHibernate, si occupano di persistere le entità definite nell'assembly al punto (1) su database (SQL Server) Un altro assembly contenente un progetto WPF - dettagli più sotto Tutto questo per garantire la separazione delle componenti software di un progetto: domain-model, dal e UI. Almeno queste. Non voglio fare il saccente, ma credo che la difficoltà sia Alta, ed i tempi di preparazione lunghi. E penso anche che darò un sacco...

posted @ giovedì 6 settembre 2007 16.08 | Feedback (2) | Filed Under [ .NET World ]

Usare un DateTimeConverter nei progetti WPF

Eventuali imprecisioni sono dovute all'ascolto, durante la stesura del post, di un concerto del Liga.Chiedo scusa: aiutatemi con i vostri commenti. :-) La classe DateTimeConverter è definita nel namespace System.ComponentModel nell'assembly System.dll. Il primo pensiero che ho avuto quando ho scoperto la presenza di questa classe - con questo nome - è stato: cavolo, posso metterla nelle risorse di una Window e sfruttarla nel meccanismo di data-binding tra un tipo DateTime ed un semplice controllo come la TextBox. Supponiamo di avere una Window semplice definita così: 1 <Window x:Class="StudyWPF.DataBindingWindow" 2 xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 3 xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 4...

posted @ mercoledì 5 settembre 2007 22.02 | Feedback (0) | Filed Under [ .NET World ]

StatusBar gestita con la proprietà .Tag dei controlli sulla Window

Questa volta vi rimando direttamente al post del mio (nostro) amico Corrado, che è stato così gentile e paziente da sopportarmi sul Messenger per aiutarmi a venire a capo del (piccolo) problema che avevo. :-) Supponiamo di avere una Window con un certo numero di controlli (TextBox in primo luogo, ma non solo). Supponiamo di avere anche una StatusBar, con cui vogliamo dare alcuni tip all'utente che sta usando l'applicazione stessa. L'obiettivo era quello di mostrare sulla StatusBar un tip diverso a seconda della TextBox che ha il focus in quel momento. Dopo aver litigato con XAML per mezza giornata e ieri sera,...

posted @ martedì 4 settembre 2007 17.11 | Feedback (1) | Filed Under [ .NET World ]

Progetto Family.Show

Da un post sono venuto a conoscenza del progetto Family.Show, un software WPF sviluppato dalla Vertigo, hostato su CodePlex. Family.Show è un software per gestire l'albero genealogico della propria famiglia ed è completamente open-source. Questo screenshot è meraviglioso ed almeno per me la dice lunga... E il bello è che è installabile attraverso ClickOnce. L'ultima versione è la 2.0 del 17 Luglio 2007, quindi piuttosto recente. Non so voi, ma a me ha sempre appassionato la possibilità di poter disegnare ed elencare tutti i propri parenti, non fosse altro che mio padre ha una decina di sorelle ed...

posted @ giovedì 30 agosto 2007 15.56 | Feedback (2) | Filed Under [ .NET World ]

Siccome non lo so fare, lo faccio con XAML

Con WPF possiamo lavorare con molti strumenti diversi: Visual Studio 2005 (con l'opportuno supporto per il .NET Framework 3.0), Visual Studio 2008 (ancora in beta 2), la suite Expression, etc. etc. WPF è una tecnologia nuova, quindi è probabile che in futuro usciranno altri strumenti dedicati a sviluppatori e a grafici. Come ho letto da qualche parte, usciranno anche strumenti per grafici, e sarà la prima volta che il lavoro di un grafico sarà codice sorgente vero e proprio, e non un mero insieme di bytes che formano un'interfaccia grafica. Dal canto mio, sto rimbalzando usando un po' VS2005 ed un...

posted @ mercoledì 29 agosto 2007 17.54 | Feedback (0) | Filed Under [ .NET World ]

Petzold, allora lo regali davvero!

Non so se il nostro amico Charles Petzold (CP) regalerà davvero il suo ultimo libro 3D Programming for Windows: Three-Dimensional Graphics Programming for the Windows Presentation Foundation a tutti, ma a qualcuno - nella fattispecie un certo Jeff -  sicuramente sì. E come altre persone, anche Jeff ha criticato abbastanza il precedente libro WPF. Ed oltretutto, il libro è anche autografato. Insomma, Charles, aspetto il mio. Technorati Tags: programming WPF book

posted @ martedì 28 agosto 2007 9.54 | Feedback (0) | Filed Under [ .NET World ]

Come gestire gli access key con WPF (usability, Label, TextBox e dintorni)

Chi di voi ha lavorato con Visual Basic 6.0, o comunque con altri linguaggi di programmazione, sa che è possibile impostare - su una Label per esempio - un access key, ovvero impostare una lettera che premuta insieme al tasto ALT della tastiera dia il focus ad un controllo sulla stessa Windows Forms. Supponiamo di avere una Label la cui caption sia "Nome : " e supponiamo di voler fare in modo che, premendo ALT+N sulla tastiera, il focus finisca su una TextBox lì a fianco, cosicchè l'utente possa inputare il valore. In Visual Basic 6.0, questo si otteneva facendo precedere...

posted @ lunedì 27 agosto 2007 15.57 | Feedback (1) | Filed Under [ .NET World ]

Come specificare Padding e Margin

Come specificare Padding e Margin nello XAML di WPFCi sono molte cose che non mi entrano in testa. Per quante volte mi vengano spiegate, o per quante volte possa leggerle, non mi entrano in testa. Una di queste è il modo con cui specificare il Padding ed il Margin dei controlli WPF. Il Padding rappresenta lo spazio interno tra il contenuto di un controllo ed i suoi bordi. Il Margin rappresenta lo spazio tra il bordo del controllo e quello che gli sta accanto. Ci sono diversi modi per specificare questo valore. Il modo più comune è quello di...

posted @ lunedì 23 luglio 2007 12.59 | Feedback (3) | Filed Under [ .NET World ]

Un equilibro tra risorse locali e risorse globali

La maggior parte delle volte ho visto gli stili dei controlli WPF definiti all'interno della Window nella quale poi lo stile stesso viene utilizzato. Lo stile in questo caso può essere utilizzato solo in quella particolare Window nel quale abbiamo creato lo stile. Se lo stile ci serve in altre Window, siamo obbligati a fare un copia & incolla dello XAML dove ci serve, il che non è proprio il massimo. In WPF possiamo inserire una risorsa all'interno del file App.xaml, all'interno del tag <Application.Resources></Application.Resources>. In questo modo lo stile è globale per tutta l'applicazione. Se inserissimo una risorsa con...

posted @ giovedì 19 luglio 2007 12.06 | Feedback (0) | Filed Under [ .NET World ]

Dettagli tecnici su un ContextMenu personalizzato

 Da quando Roberto tartassò il mio ContextMenu alla cena degli ultimi Community Days, ho dedicato la mia vita a creare e a sviluppare un ContextMenu degno di tal nome. Non che ci voglia tanto con WPF, sono io che sono imbastito con gli strumenti grafici. E comunque Roberto un pochino aveva ragione: il ContextMenu al quale faceva riferimento era veramente orribile, a partire dall'impaginazione dei vari controlli. Dicevo: ho cercato di impegnarmi. Facciamo un passo alla volta. Ho una normalissima Window che contiene una Grid con una normalissima TextBox. <Grid HorizontalAlignment="Stretch" VerticalAlignment="Top"> <TextBox Margin="6" VerticalAlignment="Stretch" ...

posted @ mercoledì 18 luglio 2007 17.40 | Feedback (4) | Filed Under [ .NET World ]

Un ContextMenu un po' più divertente

Ho lavoricchiato stasera ad un ContextMenu un pochino diverso da quello tradizionale, che visualizza un pallino colorato di fianco ad ogni voce e soprattutto contiene una StatusBar che cambia il suo contenuto in base alla voce del ContextMenu su cui ci troviamo con il mouse. Ho uploadato sul mio sito un piccolo zip che per adesso non rendo disponibile, così lo sistemo un po': se ho tempo (ma non credo) ne parlerò velocemente domani. Il succo sta nel fatto che la proprietà Header del MenuItem non è detto che debba contenere per forza solo del testo, anzi. Io ci ho...

posted @ lunedì 16 luglio 2007 23.35 | Feedback (0) | Filed Under [ .NET World ]

Risorse su WPF

Ho aggiunto tra i miei feed preferiti e che leggo tutti i giorni quello di un certo Jaime Rodriguez che sembra essere tosto sul fronte WPF. Mi è piaciuta la mini-serie di 3 post sul drag'n'drop con WPF, perchè è molto chiara e non è per nulla complessa, anzi. Sottoscrivetevi al suo blog qua. I tre post che parlano di drag'n' su WPF sono questi: Drag & Drop in WPF ... Explained end to end .. Drag & drop in WPF part2 ... Drag & Drop in WPF.. part 3 .. the results and code... Technorati Tags: WPF programming blog

posted @ sabato 14 luglio 2007 11.42 | Feedback (0) | Filed Under [ .NET World ]

Scambio di e-mail con Petzold

Ho scritto a Charles Petzold qualche volta in passato, parlando del suo libro e di WPF. Come ho avuto modo di dire in passato, non è che il suo Application + Markup mi abbia entusiasmato moltissimo. Ma Petzold sa come tenersi stretti i suoi lettori: a chiunque abbia un blog in cui si parli di Presentation Foundation, promettere di regalare una copia del suo prossimo libro 3D Programming for Windows, in uscita il prossimo 25 Luglio. Vabbè che su WPF ce ne saranno di migliori, ma come lui stesso ha detto a me: "My WPF 3D book is coming out in...

posted @ giovedì 12 luglio 2007 23.24 | Feedback (1) | Filed Under [ .NET World ]

Windows SDK: wpfperf e l'irrimediabile crash

ll titolo fa anche (quasi) rima...non è proprio rima...come si dice? Assonanza? GiustoTorniamo a noi, perchè sono stanco. Questa sera ho voluto dare un'occhiata al Performance Profiling Tools for Windows Presentation Foundation incluso nel Windows SDK. Si tratta di uno strumento che serve a capire come l'engine di WF spende il suo tempo nelle varie fasi di rendering, layouting (!), gestione degli handler e così via. Causa ingenti impegni sul lavoro, ho solo letto velocemente qualche interessante articolo su MSDN e mi sono messo questa sera a sperimentarlo un pochino. Ho trovato inizialmente qualche difficoltà, perchè il tool tende a...

posted @ martedì 10 luglio 2007 22.53 | Feedback (0) | Filed Under [ .NET World ]

Usare la ListView

Partiamo da questo screenshot: L'altra volta avevamo visto come gestire da codice l'orribile TextBox inserita nel menù, con il relativo Button per poter salvare l'immagine sul proprio disco fisso locale. Per maggiori informazioni leggete questo post. Questo ContextMenu dà accesso ad alcune altre funzionalità piuttosto divertenti, come quella per richiedere l'elenco dei tag associati ad una particolare fotografia. Il codice è molto semplice e compatto: private void TagsMenuClick(object sender, RoutedEventArgs args) { FlickrBrowserPhoto photo = lstPhotos.SelectedItem as FlickrBrowserPhoto; string id = photo.PhotoId; PhotoInfoTag[] tags = flickrConn.PhotosGetInfo(id).Tags.TagCollection; ...

posted @ mercoledì 4 luglio 2007 13.51 | Feedback (0) | Filed Under [ .NET World ]

Template per evidenziare il SelectedItem di una ListBox

Alla fine della sessione di Corrado agli ultimi Community Days sul data-binding di WPF, gli ho chiesto se fosse possibile cambiare (e se sì, come) il template che WPF utilizza per evidenziare l'Item corrente su una ListBox. Il template di default è il classico blu, come quello che si vede nello screenshot qui sotto: A volte potrebbe essere utile e carino definire un nostro template con cui far vedere all'utente quale degli elementi elencati nella ListBox è quello selezionato. Corrado mi parlò di una cosa...che adesso ovviamente non mi viene in mente... Ma ricordo anche che consigliò di sottoscrivere il...

posted @ lunedì 2 luglio 2007 17.12 | Feedback (3) | Filed Under [ .NET World ]

WPF: gestire un ContextMenu con una TextBox interna

Guardate questo screenshot: E' lo screenshot di FlickrBrowser, il software in WPF che mi sto divertendo a creare nel tempo libero. Nella figura qui sopra, c'è l'elenco di 4 set fotografici: Microsoft Security Workshop VII, Giornata Azzurra 2007, AvioExpo 2007 e Nove Colli (Fiat 500) - 2007 - Fabio Edition. Il secondo set fotografico è selezionato: se ci facciamo sopra doppio-click, otteniamo la figura qui sotto: In pratica, una ListBox orizzontale che visualizza tutte le foto associate al set fotografico che abbiamo selezionato. Ho associato un ContextMenu ad ogni Image, che ovviamente appare cliccando col pulsante...

posted @ mercoledì 20 giugno 2007 17.31 | Feedback (0) | Filed Under [ .NET World ]

Progetti Flickr su CodePlex

CodePlex.com ha tre progetti taggati con il tag Flickr. Essi sono: Vista Flickr Uploader Flickr Metadata Synchr MeiRou - A Flickr Photo Management Tool Mi interessano di più il primo e l'ultimo. Il secondo è un po' troppo macchinoso, perchè sincronizza un folder locale ad un set fotografico di Flickr. Non mi interessa, perchè secondo me fa più casini che altro. Non me ne voglia l'autore. Tutti e tre i progetti sono in WPF, perciò secondo me può essere interessante dargli un'occhiata. Technorati Tags: wpf software flickr

posted @ martedì 19 giugno 2007 18.01 | Feedback (0) | Filed Under [ .NET World ]

In WPF i controlli non devono avere per forza un nome

Il titolo del post è talmente significativo che potrei addirittura non scrivere nulla qua. Questa cosa dei controlli senza nome è una cosa a mio avviso comodissima, perchè non è detto che tutti i controlli che mettiamo su una Window o una Page abbiano davvero un significato dal punto di vista programmatico. Pensiamo alle classiche Windows Forms: credo che sia successo a tutti di mettere delle Label solo per dare un'etichetta a TextBox o ad altri controlli di input. Il designer ci mettere per default un nome come Label1, e poi dobbiamo essere noi a dare un nome più sensato. In certi...

posted @ venerdì 15 giugno 2007 16.59 | Feedback (3) | Filed Under [ .NET World ]

Disponibile per il download: Flickr Browser

Ho messo on-line il progetto Flickr Browser di cui ho parlato qualche tempo fa sul mio blog. Le caratteristiche che mi sento di evidenziare in questo mio piccolissimo progetto sono le seguenti: possibilità di avere l'elenco dei set fotografici di un determinato utente possibilità di sfogliare tutte le foto appartenenti ad un certo set fotografico avere le informazioni EXIF di una certa foto possibilità di salvare su disco locale una certa foto In una versione futura, sulla quale sto lavorando, vorrebbe andare anche a scrivere su Flickr, nel senso di poter uploadare qualche foto in un qualche set fotografico già esistente....

posted @ venerdì 15 giugno 2007 14.19 | Feedback (0) | Filed Under [ .NET World ]

[6] Il ritorno dello HockeyPlayer (data-binding con WPF)

Diamo una breve occhiata all'ultimo XAML che abbiamo scritto per ottenere una ListBox con associato un template, definito in uno UserControl separato. <ListBox Name="lstPlayers" ItemsSource="{Binding Source={StaticResource players}, Path=HockeyPlayer}"> <ListBox.ItemTemplate> <DataTemplate> <a:HockeyPlayerTemplate /> </DataTemplate> </ListBox.ItemTemplate> </ListBox> A questa ListBox è stato associato, quindi, un solo template, HockeyPlayerTemplate, che fa in modo che a run-time la ListBox appaia in un certo modo....

posted @ mercoledì 6 giugno 2007 13.23 | Feedback (0) | Filed Under [ .NET World ]

L'interfaccia di WPF è XAML, cioè XML...quindi serializzabile

Piccola riflessione della serata. L'interfaccia utente di un'applicazione WPF viene descritta da un file XML, nella fattispecie XAML. Cioè significa che è serializzabile. Ciò significa che, per esempio, possiamo in un qualsiasi momento fare una sorta di dump di una Windows - supponiamo - e salvare il tutto in un file XML su disco. Il dump contiene lo stato di tutta la Window: dalla Windows stessa a tutti i controlli che vi sono contenuti, con tutte le loro proprietà. Sarebbe interessante, per esempio, avere una Window ed intercettare eventuali eccezioni nate al suo interno. Quando viene scatenata un'eccezione, si fa...

posted @ lunedì 4 giugno 2007 23.30 | Feedback (2) | Filed Under [ .NET World ]

Il mio VivendoByte Emoticons plug-in

Siccome molti me lo chiedono via e-mail, e comunque ne aprofitto per riproporlo alla platea, comunico che ho reso nuovamente disponibile il download del mio plug-in per Windows Live Writer per inserire le emoticon. Invece di metterlo banalmente su un sito ftp e darvi l'url, ho pensato di sfruttare la piattaforma Sharepoint per mettere on-line un po' di roba. Ne parlerò in seguito. Dato che WH4L ogni anno si becca i miei soldini, vediamo di spendere ed usare per bene le cose che ho. :-) Detto questo, questa è una lista Sharepoint che ho denominato .NET Download, sulla quale pubblicherò i vari progetti freeware...

posted @ mercoledì 30 maggio 2007 13.27 | Feedback (1) | Filed Under [ .NET World ]

Powered by:
Powered By Subtext Powered By ASP.NET