Alessandro Del Sole's Blog

{ A programming space about Microsoft® .NET® }
posts - 1908, 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

Xamarin Certified Mobile Developer

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

GitHub
I miei progetti open-source su GitHub

Article Categories

Archives

Post Categories

Image Galleries

Privacy Policy

Document Toolkit for Visual Studio LightSwitch (free!)

La società First Floor Software ha rilasciato un interessante estensione per Visual Studio LightSwitch, chiamata Document Toolkit.

In realtà, si parte da un progetto esistente che espone un visualizzatore di documenti per Silverlight 4, visto che attualmente non ce n'è uno. Visto che le applicazioni LightSwitch sono Silverlight 4, il passo è stato veramente breve. Formati supportati sono PDF, XPS e Word e la cosa interessante è che non c'è da fare nulla, il controllo si occupa da solo di analizzare e presentare il documento in base al suo formato!

Ennesima dimostrazione di come estendere LightSwitch e di come questo possa essere arricchito con funzionalità meno generiche/generali per le applicazioni business.

Due info di base: la prima è che si tratta di una beta, la seconda è che però è disponibile su CodePlex con tanto di wiki e codice sorgente

L'estensione per VIsual Studio LightSwitch, invece, può essere scaricata dalla VIsual Studio Gallery a questo indirizzo. Una volta scaricato e installato il pacchetto VSIX, vediamo come si usa con codice VIsual Basic (dato che ((ma dai! )) gli esempi ufficiali sono in C#). L'esempio che facciamo è piuttosto essenziale, nel senso che partiremo da uno screen vuoto ma poi possiamo giocare in modo diverso e fare collegamenti migliori.

Supponiamo di avere un'applicazione LightSwitch. La prima cosa da fare è abilitare l'estensione nelle proprietà del progetto:

Dopodichè, creiamo un nuovo Screen. Possiamo usare il template New Data Screen per praticità, assegnando un nome a piacere e senza collegarlo ad alcuna fonte dati. Quando lo Screen Designer appare, la prima cosa da fare è creare un qualcosa da collegare al visualizzatore, ossia un proprietà locale di tipo Binary. Questo tipo di dato, infatti, è poi analizzato dal visualizzatore e tradotto nel formato appropriato. Facciamo quindi click su Add Data Item, selezioniamo Local Property, specifichiamo il tipo Binary e assegnamo un nome alla proprietà, es. Document:

La proprietà è ora visibile sulla sinistra. A questo punto la trasciniamo sullo Screen Designer e successivamente ne cambiamo il controllo che la rappresenta, selezionando Document Viewer:

Osservando la figura di cui sopra, notate che ho aggiunto anche un nuovo pulsante che ho chiamato Load Document. Assumendo che sappiate come si aggiunge un pulsante, il codice che lo rende operativo è in sostanza quello che poi si occupa di caricare e visualizzare il documento:

            ' Richiede Imports Microsoft.LightSwitch.Threading e 
        Private Sub LoadDocument_Execute()
            ' Write your code here.
            Dispatchers.Main.Invoke(Sub()
                                        Dim dlg = New OpenFileDialog
                                        If dlg.ShowDialog = True Then
                                            Dim buffer = dlg.File.Length
                                            Dim data As Byte()
                                            ReDim data(CInt(buffer - 1))
 
                                            Using stm As Stream = dlg.File.OpenRead
                                                stm.Read(data, 0, data.Length)
                                            End Using
                                            Me.Document = data
                                        End If
                                    End Sub)
 
        End Sub

 Sostanzialmente il codice apre una finestra di dialogo e attraverso quella ottiene il riferimento a uno stream, che viene popolato con il file in forma binaria. Il contenuto dell'array di byte così ottenuto è passato alla proprietà Document, che viene inviata in binding al visualizzatore. Tutto qua   Avviando l'applicazione, questo è un esempio di quello che si ottiene:

Nella figura viene mostrato il contenuto di un documento Word. Unico neo? in questa beta è applicata automaticamente una filigrana... in ogni caso, decisamente cool!

Alessandro

Print | posted on giovedì 19 maggio 2011 17:32 | Filed Under [ Visual Studio LightSwitch ]

Powered by:
Powered By Subtext Powered By ASP.NET