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" Width="200"
Minimum="0" Maximum="10" />
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 Width="200" Height="25" Value="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 Width="200" Height="25" IsIndeterminate="True" />