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: rettangoli con angoli smussati e perimetro a gradiente

Tra le varie forme geometriche che è possibile disegnare in Windows Presentation Foundation, il rettangolo è quella che probabilmente viene più utilizzata, soprattutto per fini didattici. Tale figura è rappresentata da un oggetto Rectangle. Come la maggior parte degli oggetti di WPF, anche al Rectangle è possibile applicare alcuni interessanti effetti. Per esempio, è possibile disegnare un rettangolo con  gli angoli smussati e contornato da un bordo il cui colore consiste in un gradiente. Considerate, al proposito, il seguente codice XAML:

    <Grid>
      <Rectangle Width="100" Height="50" RadiusX="20" RadiusY="20"
                 StrokeThickness="4">
        <Rectangle.Fill>

          <LinearGradientBrush>
            <GradientStop Offset="0" Color="Red"/>
            <GradientStop Offset="0.5" Color="Orange"/>
            <GradientStop Offset="1" Color="Yellow"/>
          </LinearGradientBrush>
        </Rectangle.Fill>

        <Rectangle.Stroke>
          <LinearGradientBrush>
            <GradientStop Offset="0" Color="Black"/>
            <GradientStop Offset="0.5" Color="White"/>
            <GradientStop Offset="1" Color="Blue"/>
          </LinearGradientBrush>
        </Rectangle.Stroke>
      </Rectangle>
    </Grid>

Tale codice produce il seguente output:

Il rettangolo viene disegnato semplicemente assegnando le proprietà Width e Height dell'elemento Rectangle. Gli attributi RadiusX e RadiusY, in congiunzione tra loro, consente di smussarne gli angoli. L'attributo StrokeThickness determina lo spessore del bordo. A differenza di altri oggetti visti finora, Rectangle (e altre forme geometriche) non dispone di una proprietà Background, bensì di una proprietà Fill che permette di riempire l'oggetto con il colore desiderato. Tramite la logica gerarchica di XAML, a questo proposito è possibile assegnare un gradiente come riempimento, invece di un colore a tinta unita. La proprietà Stroke, infine, stabilisce il colore per il contorno. Se avessimo voluto utilizzare un colore a tinta unita, avremmo potuto scrivere l'attributo nella dichiarazione dell'elemento Rectangle. In questo modo, invece, possiamo assegnare alla proprietà un gradiente lineare.

Il rettangolo assume un aspetto molto particolare, con colore di riempimento e bordo costituiti da un gradiente. Visto così, il rettangolo non ha molta utilità. Pensate, però, al fatto che l'oggetto Rectangle potrebbe essere utilizzato, ad esempio, per creare un Control Template personalizzato per pulsanti, che potrebbero così assumere una forma decisamente più interessante.

Alessandro

Print | posted on lunedì 22 ottobre 2007 23:26 | Filed Under [ Windows Presentation Foundation ]

Powered by:
Powered By Subtext Powered By ASP.NET