Il controllo ToggleButton di Silverlight 2.0

Nuova puntata del tutorial sulla programmazione Silverlght 2.0 tramite il linguaggio di programmazione VB.Net e C#. Vedremo in questo articolo il conrollo ToggleButton.

il
Sviluppatore Microsoft .Net, Collaboratore di IProgrammatori

Introduzione

Il controllo Togglebutton è un controllo di tipo pulsante, ma con una particolarità, infatti questo controllo presenta tre stati proprio come un controllo checkbox, impostando la proprietà isThreestate a true permette di rilevare tre stati.
Quando si fa click su questo controllo lo stato cambia e può avere due o tre stati di tipo spuntato, non spuntato ed Indefinito.

Il codice XAML

Ma vediamo in dettaglio questo controllo, dopo aver creato un nuovo progetto di tipo Silverlight, aggiungete nel codice XAML, un controllo di tipo stackpanel ed uno di tipo ToggleButton.

<StackPanel>
     <ToggleButton  Content="Fai Click" Name="tbtEsegui" IsChecked="false" IsThreeState="True" Click="ToggleButton_Click" ></ToggleButton>
</StackPanel>

Come si vede dal precedente listato di codice, sono state impostate alcune proprietà per questo controllo. La proprietà content, imposta il testo che viene visualizzato nel pulsante, name il nome univoco del controllo, la proprietà IsChecked, simile a quella del controllo checkbox permette di impostare il controllo nello stato spuntato nel caso ha il valore a true oppure non spuntato se impostato a false. La proprietà IsThreeState, impostata a true permette di avere tre stati, mentre la proprietà click definisce il gestore dell’evento click per tale pulsante.


Il codice .Net


Dopo aver impostato le varie proprietà, scriviamo il codice .Net per l’evento click, passiamo in visualizzazione codice. Nell’evento click di tale controllo, verifichiamo tramite la proprietà ischecked  lo stato del controllo, come valore possiamo avere true nel caso è spuntato, false non è spuntato mentre nothing nel caso è indefinito, valore che si ottiene solo nel caso che la proprietà IsThreestate è impostata a true.
Qui di seguito si riporta il codice delle suddette operazioni.

VB.Net

Private Sub ToggleButton_Click(ByVal sender As System.Object, ByVal e As System.Windows.RoutedEventArgs)
        If tbtEsegui.IsChecked = True Then
            MessageBox.Show("True")
        ElseIf tbtEsegui.IsChecked = False Then
            MessageBox.Show("False")
        Else
            MessageBox.Show("Indefinito")
        End If
    End Sub

C#

private void ToggleButton_Click(object sender, RoutedEventArgs e)
        {
            if (tbtEsegui.IsChecked == true )
            {
                MessageBox.Show("True");
            }
            else if (tbtEsegui.IsChecked == false)
            {
                MessageBox.Show("False");
            }
            else
            {
                MessageBox.Show("Indefinito");
            }
        }

Conclusioni


L’articolo, ha voluto fornire al lettore le basi per l’utilizzo di questo controllo. Il suo utilizzo si può verificare in in quei scenari, in cui è richiesto una serie di click su un determinato pulsante, non solo, ma anche lo stile del pulsante come il colore o altropuò cambiare in base allo stato.