Nessun risultato. Prova con un altro termine.
Guide
Notizie
Software
Tutorial
  • Lezione 27 di 59
  • livello principiante
Indice lezioni

Range Controls: ScrollBar, ProgressBar e Slider

Rappresentare intervalli e stati di avanzamento
Rappresentare intervalli e stati di avanzamento
Link copiato negli appunti

I Range Controls sono quei controlli che hanno la caratteristica di rappresentare un elemento il cui valore è compreso in un intervallo specifico.

Derivano dalla classe System.Windows.Controls.Primitives.RangeBase dell'assembly System.Windows.dll ed espongono principalmente le proprietà Value, Maximum e Minimum, che indicano rispettivamente il valore corrente, il limite superiore e quello inferiore dell'intervallo.

Appartengono a questa categoria i controlli:

Controllo Descrizione
ScrollBar Rappresenta un controllo che fornisce una barra di scorrimento con un indicatore scorrevole la cui posizione corrisponde a un valore
Slider Rappresenta un controllo che consente all'utente di selezionare un valore da un intervallo spostando un indicatore lungo una barra di avanzamento
ProgressBar Rappresenta un controllo che indica lo stato di un'operazione

Nella maggior parte dei casi può non essere necessario utilizzare un controllo ScrollBar direttamente, dato che abbiamo a disposizione lo ScrollViewer, un controllo più pratico a livello più alto.

Slider è un controllo utile quando abbiamo bisogno di impostare un valore numerico, in cui il numero stesso non è particolarmente significativo, per esempio per impostare il volume di un lettore multimediale trascinando l'apposito indicatore. Oltre alle proprietà tipiche dei Range Controls, Slider espone Orientation, per indicare se la barra è orizzontale o verticale.

<Slider Orientation="Horizontal" 
        Minimum="0" Maximum="10" />
Figura 37. Esempio di Slider orizzontale
Esempio di Slider

Esistono altre due proprietà comuni per tutti i Range Controls: SmallChange e LargeChange, indicano rispettivamente di quanto modificare il valore corrente a fronte di un piccolo o grande spostamento.

Queste proprietà sono utilizzate solo dai primi due controlli della tabella, nell specifico dello Slider, otteniamo un piccolo spostamento quando utilizziamo i tasti freccia della tastiera ed un grande spostamento tramite i tasti PageUp e PageDown.

L'evento ValueChanged viene scaturito ogni volta che il valore corrente viene modificato, possiamo intercettare questo evento nel code-behind ed assegnare il relativo comportamento.

La ProgressBar è il tipico controllo che permette in maniera visuale di rappresentare lo stato di avanzamento un'operazione. Tipicamente utilizzato per attività lunghe, questo controllo non prevede nessun intervento da parte dell'utente.

I valori predefiniti per le proprietà Minimum e Maximum sono rispettivamente zero (0) e cento (100), quindi a sua volta Value rappresenta la percentuale di lavoro svolto. Possiamo cambiare questo comportamento modificando i valori delle proprietà. Ecco un esempio con avanzamento al 30%:

<ProgressBar   Value="30" />
Figura 38. ProgressBar al 30%
ProgressBar al 30%

Ci sono contesti poi, in cui non conosciamo a priori i suddetti valori, in questi casi sfruttiamo la proprietà IsIndeterminate, impostata a true. La ProgressBar utilizzerà una animazione che da all'utente l'idea di una operazione in corso, senza specificare l'avanzamento.

<ProgressBar   IsIndeterminate="True" />
Figura 39. ProgressBar con valori indeterminati
ProgressBar con valori indeterminati

Ti consigliamo anche