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

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 Content="Elemento a sfondo verde" Background="Chartreuse" />
        <ListBoxItem Content="Elemento a sfondo giallo" Background="Yellow" />
        <ListBoxItem Content="Elemento a sfondo pomodoro" Background="Tomato" />

        <ListBox.RenderTransform>
          <SkewTransform CenterX="1" CenterY="100" AngleX="15" AngleY="15" />
        </ListBox.RenderTransform>
       
      </ListBox>
    </Grid>
</Window>

otteniamo il seguente, incredibile risultato:

Per inserire un elemento nella ListBox, si aggiunge un oggetto ListBoxItem. In questo caso, abbiamo specificato gli attributi Content e Background per definire, rispettivamente, il testo e lo sfondo dell'elemento, ma le proprietà sono, come penso ormai sappiate, davvero tante. Si utilizza, poi, il concetto di trasformazione (Transformation) di WPF che riguarda la possibilità di applicare effetti sul layout strutturale dell'aspetto grafico dei controlli. Lo SkewTransform crea un effetto tridimensionale, inclinando un oggetto secondo le coordinate X e Y e le angolazioni specificate.

La cosa bella, ma che in WPF non deve sorprendervi, è che il controllo non è un mero disegno, ma è effettivamente e completamente funzionante ed utilizzabile da codice gestito.

Tutto questo si, è veramente impressionante.

Alessandro

Print | posted on venerdì 24 agosto 2007 22:44 | Filed Under [ Windows Presentation Foundation ]

Powered by:
Powered By Subtext Powered By ASP.NET