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

WPF: piccolo esempio sul controllo TabControl

Il controllo TabControl in Windows Presentation Foundation, quello per intenderci che permette di raggruppare in schede una serie di controlli, è altamente versatile e personalizzabile ed espone interessanti caratteristiche. In questo piccolo esempio ne vediamo alcune.

Creiamo un nuovo progetto WPF vuoto e digitiamo il seguente codice XAML, all'interno dei tag <Grid></Grid>, che commenteremo di seguito:

      <TabControl Margin="10,10,10,10">
        <TabItem Header="Con pulsanti">
          <StackPanel>
            <Button Width="100" Height="50" Margin="10,10,10,10">
              Ciao!
            </Button>
          </StackPanel>
        </TabItem>

        <TabItem Header="Con sfondo" Foreground="White" BorderBrush="Salmon">
          <TabItem.Background>
            <LinearGradientBrush>
              <GradientStop Color="Blue" Offset="0" />
              <GradientStop Color="Green" Offset="0.5" />
              <GradientStop Color="Yellow" Offset="1" />
            </LinearGradientBrush>
          </TabItem.Background>
        </TabItem>
        
        <TabItem Header="VB Tips And Tricks">
          <Frame Source="http://www.visual-basic.it" />
        </TabItem>
      </TabControl>

Un controllo TabControl contiene oggetti TabItem, ognuno dei quali rappresenta una scheda. All'interno di ciascun TabItem è possibile inserire i vari elementi di interesse. Ad esempio, il primo blocco disegna un semplice pulsante, all'interno di un contenitore StackPanel. Analizzando, poi, il codice del secondo elemento TabItem, potete osservare come sia possibile personalizzare la colorazione di una "linguetta", ad esempio utilizzando un Brush per colorarne lo sfondo, oppure colorandone il bordo tramite l'attributo BorderBrush. Potete osservare il risultato di questi due blocchi nella seguente figura:

Il codice relativo al terzo elemento TabItem è molto breve, ma racchiude una funzionalità molto importante. Infatti, tramite un oggetto Frame, è possibile visualizzare dei contenuti all'interno della scheda. I contenuti visualizzabili da un frame sono rappresentati prevalentemente da oggetti di tipo URI e possono essere pagine HTML o la grande maggioranza degli oggetti appartenenti a .NET 3.0. In questo caso, l'URI specificato contiene l'indirizzo della home page di VB T&T, ma potrebbe addirittura essere il contenuto di un file di codice XAML (semprechè tale codice sia contenuto all'interno di un oggetto Page e non Window).

La figura seguente mostra come la home page di VB T&T venga mostrata all'interno di una scheda grazie all'oggetto Frame, senza necessità di altri controlli per la navigazione Web:

Ovviamente, questo è solo un piccolissimo e banale esempio di come sia possibile implementare un controllo TabControl, ma che rende l'idea circa la versatilità dello stesso grazie all'organizzazione gerarchica di XAML e alla potenza di WPF. Assegnando un attributo Name a ciascun elemento è possibile interagire da codice, grazie ai file di code-behind.

Alessandro

Print | posted on sabato 8 settembre 2007 23:26 | Filed Under [ Windows Presentation Foundation ]

Powered by:
Powered By Subtext Powered By ASP.NET