Alessandro Del Sole's Blog

{ A programming space about Microsoft® .NET® }
posts - 1883, comments - 2047, trackbacks - 352

My Links

News

Your host

This is me! Questo spazio è dedicato a Microsoft® .NET®, di cui sono molto appassionato :-)

Cookie e Privacy

Disabilita cookie ShinyStat

Microsoft MVP

My MVP Profile

Microsoft Certified Professional

Microsoft Specialist

Il mio libro su VB 2015!

Pre-ordina il mio libro su VB 2015 Pre-ordina il mio libro "Visual Basic 2015 Unleashed". Clicca sulla copertina per informazioni!

Il mio libro su WPF 4.5.1!

Clicca sulla copertina per informazioni! E' uscito il mio libro "Programmare con WPF 4.5.1". Clicca sulla copertina per informazioni!

These postings are provided 'AS IS' for entertainment purposes only with absolutely no warranty expressed or implied and confer no rights.
If you're not an Italian user, please visit my English blog

Le vostre visite

I'm a VB!

Guarda la mia intervista a Seattle

Follow me on Twitter!

Altri spazi

CodePlex download Scarica i miei progetti open-source su CodePlex!

Article Categories

Archives

Post Categories

Image Galleries

Privacy Policy

agosto 2007 Blog Posts

Esempio di data-binding in Windows Presentation Foundation

Riprendo il consueto esempio della ListBox con elementi colorati, per illustrare una importante tecnica di programmazione in Windows Presentation Foundation, chiamata data-binding. Si tratta di una tecnica molto versatile, che in questo post illustreremo solo in minima parte ma che può rendere l'idea. In particolare, riprendiamo l'esempio dell'effetto RotateTransform applicato alla ListBox, che abbiamo visto in questo post. In pratica vogliamo che, mediante un controllo Slider, sia possibile cambiare l'angolo dell'effetto RotateTransform, e conseguentemente il risultato dell'applicazione alla ListBox dell'effetto stesso. Non inserisco figure dimostrative, poichè vorrei che vi divertiate da soli a scoprire il risultato del seguente codice XAML: <StackPanel>     <Slider...

posted @ lunedì 27 agosto 2007 16:23 | Feedback (2) | Filed Under [ Windows Presentation Foundation ]

Visual Studio 2008 Beta 2 e l'editor XAML

Sto facendo le prime prove di Windows Presentation Foundation in Visual Studio 2008 Beta 2. Così, utilizzando l'editor di codice XAML, ho scoperto alcune cose che non mi piacciono proprio... spero che nell'edizione definitiva vengano migliorate queste cose che ora mi accingo ad enumerare :-) Con Visual Studio 2005 e le estensioni per WPF installate, scrivendo i tag XML degli elementi nell'editor XAML, l'editor stesso aggiunge automaticamente il tag di chiusura dell'elemento, "abitudine" persa in questa Beta 2. Inoltre, inserendo degli attributi XML a cui va assegnato un valore, l'editor inserisce automaticamente un solo apice, mentre con Visual Studio 2005 l'editor...

posted @ domenica 26 agosto 2007 20:10 | Feedback (0) | Filed Under [ Visual Studio 2008 ]

L'effetto ScaleTransform in WPF

Windows Presentation Foundation mette a disposizione un nuovo sistema per ridimensionare i controlli che, tecnicamente, può essere fatto anche solo tramite codice XAML. Questo risultato si ottiene applicando l'effetto ScaleTransform al controllo da ridimensionare. Riprendendo l'ormai noto esempio della ListBox, per la quale abbiamo visto l'effetto SkewTransform e l'effetto RotateTransform, digitiamo in Visual Studio 2005 il seguente XAML: <ListBox Height="150" Width="250"> <ListBoxItem Content="Elemento a sfondo verde" Background="Chartreuse" /> <ListBoxItem Content="Elemento a sfondo giallo" Background="Yellow" /> ...

posted @ venerdì 24 agosto 2007 21:50 | Feedback (0) | Filed Under [ Windows Presentation Foundation ]

Rotazione di controlli in Windows Presentation Foundation

In Windows Presentation Foundation, sempre secondo il concetto di trasformazione, è possibile ruotare i controlli ed utilizzarli normalmente. Riprendiamo la ListBox disegnata tramite XAML in questo precedente post, per vedere come applicare l'effetto RotateTransform. Proviamo a digitare il seguente codice XAML:<Window x:Class="Window1" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" Title="WindowsApplication1" Height="375" Width="384" > <Grid> <ListBox Height="150" Width="250"> <ListBoxItem Content="Elemento a sfondo verde" Background="Chartreuse" /> <ListBoxItem Content="Elemento a sfondo giallo" Background="Yellow" /> ...

posted @ venerdì 24 agosto 2007 20:58 | Feedback (2) | Filed Under [ Windows Presentation Foundation ]

WPF: Inclinare una ListBox con elementi a sfondo colorato

Con poche righe di codice XAML, in Windows Presentation Foundation, è possibile gestire in modo impressionante il layout grafico dei controlli. In questo post prendiamo ad esempio il controllo ListBox. Ne disegnamo uno, aggiungendo tre voci, ognuna delle quali deve avere uno sfondo diverso. Inoltre, decidiamo di inclinarla secondo l'effetto "Skew", noto nei programmi di fotoritocco. Se digitiamo il seguente codice XAML:<Window x:Class="Window1" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" Title="WindowsApplication1" Height="362" Width="399" > <Grid> <ListBox Height="150" Width="250"> <ListBoxItem...

posted @ venerdì 24 agosto 2007 20:44 | Feedback (0) | Filed Under [ Windows Presentation Foundation ]

WPF: Impostare lo sfondo di controlli tramite ImageBrush

In Windows Presentation Foundation è possibile impostare lo sfondo dei controlli mediante alcuni oggetti che derivano dalla classe astratta Brush. In alcuni precedenti post, abbiamo visto come utilizzare le classi GradientBrush e RadialGradientBrush. In questo post, invece, vediamo come sia possibile utilizzare l'oggetto ImageBrush per impostare un'immagine come sfondo di un controllo. Utilizziamo un controllo Border che, ovviamente, potete sostituire con un altro di vostro gradimento, ma che ho utilizzato per mostrare anche altre tecniche. Digitando il seguente codice XAML:<Window x:Class="Window1" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" Title="WindowsApplication1" Height="292" Width="341" > ...

posted @ venerdì 24 agosto 2007 16:59 | Feedback (2) | Filed Under [ Windows Presentation Foundation ]

Windows Live SkyDrive

Microsoft ha creato un nuovo servizio nell'ambito della famiglia Windows Live, chiamato SkyDrive. Attualmente si tratta di un servizio ancora in beta, che però consente di condividere con altri utenti i propri file e le proprie cartelle come se fossero su un hard disk virtuale. Coloro che già utilizzano, ad esempio, il servizio del sito 4Shared, sanno di cosa si tratta. Allo stato attuale l'Italia non è ancora tra i Paesi ai quali è consentito condividere file, ma sarà di prossima implementazione. E' possibile, in ogni caso, accedere alle cartelle e ai file di altri utenti laddove consentito dai permessi impostati. Per accedere...

posted @ venerdì 24 agosto 2007 02:45 | Feedback (1) | Filed Under [ Varie ]

WPF: Flow documents e annotazioni

Windows Presentation Foundation offre un grande supporto per la gestione di documenti. Oltre agli XPS ed altre tipologie, WPF introduce i Flow Documents, documenti dall'aspetto professionale che hanno il grande pregio di poter modificare dinamicamente a run-time il layout degli elementi che li compongono. Un documento Flow consiste in un oggetto FlowDocument e può essere visualizzato da controlli FlowDocumentReader, FlowDocumentScrollViewer e FlowDocumentPageViewer. Questi documenti sono costituiti, prevalentemente ma non solo, da oggetti Paragraph che contengono il testo, che a sua volta può essere formattato secondo svariate modalità. All'interno di ogni Paragraph possono essere inseriti altri oggetti come elenchi puntati (List),...

posted @ giovedì 23 agosto 2007 00:36 | Feedback (1) |

Aggiornamento della protezione per Visual Basic 6

Come ben sapete .NET è il mio grande amore, quindi non mi piace segnalare alcunchè dedicato a Visual Basic 6, ma questa mi sembra una segnalazione rilevante e che interesserà migliaia di sviluppatori. Pochi giorni fa, il 14 agosto per l'esattezza, Microsoft ha rilasciato un aggiornamento della protezione per il file OleAut32.dll che accompagna il runtime di Visual Basic 6.0. Secondo quanto segnalato nel bollettino della sicurezza, è stato rilevato un bug a causa del quale un pirata informatico può fare notevoli danni. Per risolvere il problema è sufficiente installare l'aggiornamento che si trova al seguente URL: http://www.microsoft.com/downloads/details.aspx?displaylang=it&FamilyID=e1646fb0-29d5-4a6e-a8d2-304c4d7735b7 Qui, invece, potete leggere l'articolo della...

posted @ mercoledì 22 agosto 2007 21:51 | Feedback (2) | Filed Under [ Varie ]

Le novità di Visual Studio 2008 Express su Coding4Fun

Sul blog di Daniel Fernandez, appartenente al team di sviluppo MS per le edizioni Express di Visual Studio, è apparso il primo di una serie di cinque articoli dedicati alle novità Visual Studio 2008 Express. In questo primo articolo si parla di alcuni miglioramenti ai linguaggi. Molto interessante la possibilità di inserire tag XML direttamente nei blocchi di codice. Se volete dargli un'occhiata (è piuttosto breve), lo trovate qui: http://blogs.msdn.com/danielfe/archive/2007/08/01/part-1-of-5-what-s-in-visual-studio-express-2008-beta-2.aspx Alessandro

posted @ domenica 19 agosto 2007 13:08 | Feedback (1) | Filed Under [ Visual Studio 2008 ]

Cambiare ciclicamente lo sfondo del desktop: applicazione .NET e Gadget per Vista

E' apparso su Channel9 questo interessante esempio, sia sotto forma di applicazione .NET che di Gadget per Windows Vista. Si tratta di un programmino che cambia ciclicamente lo sfondo del desktop. Il codice sorgente è (ma guarda...) in C# e nello zip scaricabile anche senza iscrizione è presente anche una folder contenente i file che costituiscono il Gadget. Molto carino e un buon esempio per imparare anche qualcosa di più sui Gadget di Vista. Lo trovate qui: http://channel9.msdn.com/ShowPost.aspx?PostID=325705 Alessandro

posted @ venerdì 17 agosto 2007 20:47 | Feedback (4) | Filed Under [ .NET Framework C# ]

Brevi cenni sul concetto di Ownership in Windows Workflow Foundation

Quando si opera con i flussi di lavoro in Windows Workflow Foundation, è necessario tenere a mente il multi-threading e il concetto di Ownership. Infatti, può capitare che più thread abbiano accesso allo stesso workflow e che, soprattutto nel caso in cui si voglia persistere lo stato di un workflow mediante l'oggetto SQLPersistenceService, un thread tenti di scaricarlo dalla memoria mentre un altro ne ha ancora accesso. Poichè l'istanza del workflow è proprietaria del servizio di persistenza, onde evitare gli ovvi problemi che possono derivare da questa condizione (ad esempio nel caso in cui il servizio venga richiamato dopo che l'istanza cui appartiene...

posted @ giovedì 16 agosto 2007 21:24 | Feedback (2) | Filed Under [ Windows Workflow Foundation ]

Creare siti web, tra problemi e soluzioni

Interessante questo articolo su CodeProject. Prende in esame 13 "disastri" (come li chiama l'autore) che possono capitare negli scenari quotidiani di chi crea siti web e suggerisce altrettante soluzioni. Tra le problematiche più interessanti si rilevano il sovraccarico di CPU, il malfunzionamento del firewall e l'hard disk che passa a miglior vita. Magari vi può interessare dargli un'occhiata: http://www.codeproject.com/install/13disasters.asp Alessandro

posted @ giovedì 16 agosto 2007 20:43 | Feedback (1) | Filed Under [ .NET Framework ]

Creare i database SQL per Windows Workflow Foundation

In un precedente post avevamo visto che nella cartella C:\Windows\Microsoft.NET\v3.0\Windows Workflow Foundation\SQL\EN risiedono alcuni file ad estensione .sql che contengono gli script necessari per creare database SQL adattabili al lavoro con Windows Workflow Foundation. WF, infatti, consente di memorizzare alcune importanti informazioni durante l'esecuzione dei flussi, su database di SQL Server 2005 (anche Express), come il tracking degli eventi di flussi e attività oppure la persistenza dello stato dei flussi. In particolare, si tratta di due tipologie di database: la prima relativa ai servizi di tracking dei flussi (System.Workflow.Activities.Tracking), la seconda relativa ai servizi di persistenza su disco degli workflow (System.Workflow.Runtime.Hosting). Per...

posted @ mercoledì 15 agosto 2007 17:56 | Feedback (3) | Filed Under [ Windows Workflow Foundation ]

Articoli su Windows Workflow Foundation

Segnalo che nella versione italiana della libreria MSDN sono disponibili due articoli di Corrado Cavalli, che introducono Windows Workflow Foundation: http://www.microsoft.com/italy/msdn/risorsemsdn/windowsvista/wf1.mspx http://www.microsoft.com/italy/msdn/risorsemsdn/windowsvista/wf2.mspx Visto che la materia può risultare un po' ostica (ho letto molte trattazioni in questo periodo..), mi piace molto la maniera in cui Corrado introduce i vari argomenti relativi a WF, senza troppi fronzoli ma estremamente comprensibile. Un vero must-read per chi si vuole avvicinare a questa tecnologia e capirci qualcosa senza impazzire. Alessandro

posted @ martedì 14 agosto 2007 01:17 | Feedback (1) | Filed Under [ Windows Workflow Foundation ]

Vista, SQL 2005 e Windows WF

L'antefatto è che avevo necessità di creare e utilizzare un database di SQL Server 2005 Express in Windows Vista, per l'utilizzo con Windows Workflow Foundation. Nonostante fossi loggato come amministratore, ho provato sia tramite script che tramite SQL Management Studio Express a creare il database, ricevendo in cambio delle gran pernacchie da Vista :-) Alla fine mi sono dovuto arrendere e ho disattivato l'User Account Control. Ora tutto funziona a meraviglia... Il discorso è che anche avendo a disposizione un database bell'e pronto, utilizzando le apposite classi di Windows Workflow Foundation per il tracciamento dei flussi, non riuscivo proprio ad accedere al database....

posted @ lunedì 13 agosto 2007 18:52 | Feedback (2) | Filed Under [ Windows Workflow Foundation ]

Cenni sulle applicazioni Web in WPF

In Windows Presentation Foundation, le applicazioni web sono chiamate XAML Browser Applications. Il nome vuole significare che si tratta di applicazioni in grado di essere eseguite in un browser web. Per creare questo tipo di applicazioni, è sufficiente selezionare il modello di progetto XAML Browser Application tra i modelli disponibili per .NET Framework 3.0. In maniera analoga a quanto accade per le applicazioni Windows, il designer di Visual Studio si presenta con l'editor di codice XAML più una pagina di tipo Page, al contrario dell'oggetto Window che caratterizza le applicazioni Windows. Grazie a XAML, il design delle pagine web avviene in maniera...

posted @ sabato 11 agosto 2007 20:20 | Feedback (1) | Filed Under [ Windows Presentation Foundation ]

Windows Workflow Foundation: "persistere" lo stato di un flusso

In Windows Workflow Foundation è possibile persistere, in maniera analoga alla serializzazione, lo stato di un workflow e richiamarlo poi successivamente. Questa tecnica si usa nel caso di flussi che rimangono in attesa di eventi esterni anche per lungo tempo. Questo è possibile grazie ad una classe chiamata SQLWorkflowPersistenceService, che permette di memorizzare in un database di SQL lo stato di un workflow. Da codice Visual Basic, si interviene in questo modo nel codice che avvia il runtime di WF, solitamente nella Sub Main. Si aggiungono i riferimenti a due gestori degli eventi relativi al caricamento del flusso e alla sua...

posted @ venerdì 10 agosto 2007 13:58 | Feedback (1) | Filed Under [ Windows Workflow Foundation ]

Applicazioni Windows come host in Windows Workflow Foundation

In Windows Workflow Foundation i flussi di lavoro vengono "ospitati" in applicazioni host. Infatti, il flusso di per sè non può essere eseguito ma necessita di un'applicazione che lo contenga e che sia in grado di interagire con il flusso stesso esponendo al mondo esterno i risultati dell'elaborazione dei dati, consentendo, inoltre, di ricevere dati dal mondo esterno per passarli al workflow. I modelli di progetto standard per WF consentono di utilizzare come applicazioni host le applicazioni Console. Per utilizzare le applicazioni Windows Forms quali host, è necessario creare il workflow come libreria di flussi. Il passaggio successivo è quello di...

posted @ mercoledì 8 agosto 2007 20:06 | Feedback (4) | Filed Under [ Windows Workflow Foundation ]

XAML e Windows Workflow Foundation

Il linguaggio XAML non viene utilizzato solo in Windows Presentation Foundation, durante la fase di design. Esso è anche parte integrante di Windows Workflow Foundation, nella parte relativa al design "grafico" dei flussi. Se il Workflow viene creato con separazione del codice, Visual Studio genera un file con estensione .xoml, che è relativo al design del flusso, e un file di code-behind con estensione .xoml.vb (o .xoml.cs). Il file .xoml contiene codice XAML relativo all'aspetto grafico del flusso, mentre il file di code-behind consente l'intervento dello sviluppatore tramite codice. Se il Workflow viene creato senza separazione del codice, il codice XAML è...

posted @ mercoledì 8 agosto 2007 19:57 | Feedback (3) | Filed Under [ Windows Workflow Foundation ]

Windows Workflow Foundation e SQL

Tramite la classe SQLTrackingQuery, appartenente al namespace System.Workflow.Runtime.Tracking di .NET Framework 3.0, è possibile eseguire il tracciamento degli eventi che si verificano in varie fasi nei flussi di lavoro in Windows Workflow Foundation. C'è una cartella del Framework, chiamata C:\Windows\Microsoft.NET\Framework\v3.0\Windows Workflow Foundation\SQL, che contiene alcuni file SQL che rappresentano gli schemi di base necessari per lavorare con la classe sopra citata. Per chi si interessa della tecnologia Windows Workflow Foundation, questo argomento è di particolare interesse pertanto può essere utile dare un'occhiata a questi file. Alessandro

posted @ mercoledì 8 agosto 2007 19:57 | Feedback (2) | Filed Under [ Windows Workflow Foundation ]

Imparare la libreria di attività base di WF

Durante uno dei miei giretti su Google, ho trovato questo sito che, oltre ad un nome ad evocazione medievale e decisamente romantica, contiene molto materiale interessante. Il sito si chiama OdeToCode e quello che per me è stato di interesse è un tutorial sulla libreria di attività base di Windows Workflow Foundation. Ogni attività è descritta in maniera abbastanza sintetica ma in modo tale da fornire tutte le nozioni più importanti su ciascuna di esse. Se vi state avvicinando o solo interessando a Windows Workflow Foundation, questa pagina vi sarà sicuramente utile: http://www.odetocode.com/Articles/455.aspx Alessandro

posted @ mercoledì 8 agosto 2007 19:57 | Feedback (1) | Filed Under [ Windows Workflow Foundation ]

Attività custom per Windows Workflow Foundation e Open XML

Su CodePlex è apparso un nuovo progetto, a mio avviso molto interessante anche perchè in questo periodo sto studiando l'argomento Windows Workflow Foundation. Questo nuovo progetto si chiama "Open XML WF Activities" e implementa una serie di attività personalizzate da utilizzare nei propri flussi di lavoro creati nelle applicazioni basate su Windows Workflow Foundation. Le attività personalizzate sono dedicate allo svolgimento di operazioni sul nuovo formato di documenti Open XML, che contraddistingue i documenti di Office 2007. Eccolo qua: http://www.codeplex.com/OWA Molto utile, lo piazzo tra i Preferiti! ;-) Alessandro

posted @ mercoledì 8 agosto 2007 19:56 | Feedback (1) | Filed Under [ Windows Workflow Foundation ]

Nuovi esempi di codice per Windows Presentation Foundation

Segnalo la disponibilità di 52 nuovi esempi di codice dedicati a Windows Presentation Foundation sul sito Microsoft chiamato WindowsClient.net. Gli esempi di codice riguardano svariati argomenti, sia relativi ad applicazioni Windows che Browser Applications, tra cui grafica 2D e 3D e l'accesso ai dati. Una vera chicca per chi si interessa a WPF. Questo è il link diretto alla pagina di download: http://windowsclient.net/downloads/folders/wpfsamples/default.aspx Alessandro

posted @ domenica 5 agosto 2007 20:58 | Feedback (2) | Filed Under [ Windows Presentation Foundation ]

Powered by:
Powered By Subtext Powered By ASP.NET