Procedura: impostare le proprietà di stile dei controlli server ASP.NET a livello di codice
Aggiornamento: novembre 2007
È possibile impostare le proprietà di stile di un controllo server ASP.NET a livello di codice in modo da poter modificare l'aspetto di un controllo in modo condizionale.
Per impostare le proprietà di stile a livello di codice
Utilizzare la convenzione gerarchica sotto illustrata, per specificare l'oggetto di stile e la proprietà da impostare:
Control.StyleObject.Property = value
Control.StyleObject.Property = value;
Nell'esempio di codice riportato di seguito viene illustrato come impostare la proprietà BackColor relativa all'oggetto DayStyle di un controllo Calendar:
Calendar1.DayStyle.BackColor = System.Drawing.Color.Green
Calendar1.DayStyle.BackColor = System.Drawing.Color.Green;
È inoltre possibile creare un oggetto Style separato e copiare o unire i valori delle relative proprietà a uno degli stili in un controllo. Si tratta di una tecnica estremamente efficace per l'applicazione degli stessi stili a numerosi oggetti diversi dell'elenco nel progetto. Di fatto, è possibile creare un foglio di stile virtuale come oggetto Style e quindi applicarlo a una serie di controlli.
Per creare un oggetto di stile e applicarlo ai controlli
Creare un'istanza dell'oggetto Style e impostarne le proprietà, come illustrato nell'esempio riportato di seguito:
Dim s As Style = New Style() s.BackColor = System.Drawing.Color.Red
Style s = new Style(); s.BackColor = System.Drawing.Color.Red;
Assegnare l'oggetto Style a un controllo mediante uno dei metodi seguenti:
Il metodo CopyFrom applica tutte le impostazioni di un oggetto Style, comprese quelle nulle.
Il metodo MergeWith copia solo le proprietà già impostate nell'oggetto Style, ignorando le proprietà Style che non sono state impostate. Il metodo MergeWith inoltre non sovrascriverà gli elementi di stile esistenti.
Nell'esempio di codice riportato di seguito viene illustrata la creazione di un oggetto Style e l'impostazione di una delle relative proprietà. Tale proprietà viene quindi applicata a due diversi oggetti di stile del controllo, utilizzando ciascuno dei metodi descritti:
' Apply all values in s, including nulls. Calendar1.SelectedDayStyle.CopyFrom(s) ' Apply only values in s that are null in HeaderStyle. DataGrid1.HeaderStyle.MergeWith(s)
// Apply all values in s, including nulls. Calendar1.SelectedDayStyle.CopyFrom(s); // Apply only values in s that are null in HeaderStyle. DataGrid1.HeaderStyle.MergeWith(s);