Alessandro Del Sole's Blog

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

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

Personalizzare la Start Page di Visual Studio 2010 con WPF

Come sapete, Visual Studio 2010 Beta 1 è disponibile per il download pubblico. Dopo aver esaminato alcune novità del linguaggio in post precedenti, approfondiamo ora altre novità. Tra le varie caratteristiche del nuovo ambiente di sviluppo rientra la pagina iniziale, la Start Page, che ora è scritta interamente in WPF. Se volete qualche informazione sulla Start Page in VS 2010, Mario ha scritto questo post.

 

Per praticità, riportiamo una schermata:

Quello che ci interessa capire in questo post è come sia possibile personalizzare la Start Page di Visual Studio 2010 sfruttando le nostre conoscenze di Windows Presentation Foundation. Infatti, la Start Page è interamente scritta in XAML!

 

Il primo passaggio è andare nella cartella C:\Programmi\Microsoft Visual Studio 10.0\Common7\IDE, all’interno della quale troveremo una sottocartella chiamata StartPages. Questa, a sua volta, conterrà una sottocartella il cui nome è un identificatore rappresentativo della Culture di Visual Studio. Poichè la Beta 1 è solo in inglese, la cartella si chiamerà “en”. Detta cartella contiene due files: StartPage.csproj e StartPage.Xaml, quindi un file di progetto C# e il file .Xaml che rappresenta la pagina iniziale.

 

Per poter creare le nostre personalizzazioni, dobbiamo prima di tutto creare una cartella chiamata StartPages all’interno della cartella a livello utente di Visual Studio 2010 (quella che tendenzialmente contiene progetti, setting, add-in), ad esempio \Documenti\Visual Studio 10. Creata questa cartella, copieremo al suo interno i due file sopra citati. Possiamo tranquillamente aprire il file di progetto con Visual Studio 2010. Se siete sviluppatori Visual Basic, non abbiate timore ad aprire il progetto C#: a noi interessa, infatti, operare sul solo file .Xaml.

 

Una volta aperto il progetto, noterete che nel designer viene mostrata proprio quella che corrisponde alla Start Page, con tutti i controlli a disposizione anche nella Toolbox. D’altra parte si tratta di un normale file .Xaml!:

Spulciando un po’ nel codice Xaml, noteremo che viene referenziato un assembly chiamato Microsoft.VisualStudio.Shell.UI.dll che espone un namespace, Microsoft.VisualStudio.PlatformUI, che ci permette di intervenire sulle parti dell’IDE gestibili da WPF.

 

L’interfaccia della Start Page è costituita essenzialmente dai seguenti elementi:

 

Tray: il contenitore principale;

TrayItem: corrisponde alle “schede” che troviamo sulla sinistra (es. Projects, Visual Studio)

TrayGroup: è il contenuto di ciascun TrayItem e a sua volta contiene degli elementi, chiamati TrayGroupItem.

 

Vediamo ora in pratica come personalizzare la Start Page, ipotizzando di voler aggiungere una scheda all’interno della quale siano presenti i link ai miei blog, quello italiano e quello inglese. Passiamo all’editor di codice Xaml, osservando come nelle risorse della Grid principale siano definiti i link utilizzati dai vari elementi. Aggiungiamo, quindi, due risorse relativi ai link di nostro interesse:

 

        <!-- My Blogs links-->

        <sys:String x:Key="Links.ItalianBlog">http://community.visual-basic.it/Alessandro</sys:String>

        <sys:String x:Key="Links.EnglishBlog">http://community.visual-basic.it/AlessandroEnglish</sys:String>

    </Grid.Resources>

 

Passiamo ora a definire un TrayItem, ossia una “scheda” da porre sulla sinistra insieme a quelle di default, più un TrayGroup che conterrà i vari link:

 

        <!--My blogs group-->

        <vs:TrayItem Header="My Blogs" x:Uid="MyBlogs_Header">

            <vs:TrayGroup>

               

            </vs:TrayGroup>

        </vs:TrayItem>

 

All’interno di questo TrayGroup, vado ad aggiungere tanti elementi TrayGroupItem quanti sono i link di mio interesse, quindi due:

 

        <!—Sostituire la ImageSource con una origine valida!!!!-->

                <vs:TrayGroupItem Content="Italian Blog"

                                  ImageSource=" http://miafoto.png "

                                  Command="{x:Static vs:VSCommands.Browse}"

                                  CommandParameter="{StaticResource Links.ItalianBlog}"

                                  x:Uid="ItalianBlog_Item"

                    />

 

 

                <vs:TrayGroupItem Content="English Blog"

                                  ImageSource="http://miafoto.png"

                                  Command="{x:Static vs:VSCommands.Browse}"

                                  CommandParameter="{StaticResource Links.EnglishBlog}"

                                  x:Uid="EnglishBlog_Item"

                    />

 

Notate in questa fase come si faccia utilizzo dei Command di Windows Presentation Foundation e dell’attributo x:Uid per la localizzazione dei contenuti. Prima di poter utilizzare la Start Page personalizzata, è necessario indicare a Visual Studio 2010 di farlo. Tramite il comando Tools|Options, apriamo la consueta finestra per la personalizzazione dell’IDE e apponiamo il flag sulla casella Allow Custom Start Page nella scheda Startup:

Fatto questo, la nuova Start Page è già disponibile:

Bello vero? J E pensate che è possibile utilizzare anche una serie di controlli WPF! Questo potete ben intuirlo grazie alla logica gerarchica di XAML, che anche in questo frangente rimane invariata.

 

Se poi desiderate tornare alla pagina principale, vi basta eliminare la Start Page personalizzata dalla cartella a livello di utente e Visual Studio 2010 tornerà ad utilizzare quella disponibile nella cartella dei programmi.

 

Alessandro

Print | posted on mercoledì 20 maggio 2009 21:26 | Filed Under [ Visual Studio 2008 ]

Powered by:
Powered By Subtext Powered By ASP.NET