citazioni a parte, chi ha realizzato WebControl, si è trovato volente o nolente tra le mani la classe Style.
la classe Style, Rappresenta lo stile di un WebControl.
la classe Style genere css inline, non il massimo per la riusabilità e la compatezza della
pagina.
in Asp.net 2.0 molto sta per cambiare.
prima novità, la classe Style presenta alcuni nuovi metodi, il primo utilissimo, un metodo
statico: IsStyleEmpty (Style s), per verificare se l'istanza passata al metodo sia o meno
vuota.
in Asp.net 1.0 per ottenere un comportamento simile, era necessario ridefinire con new il
metodo di istanza IsEmpty, e renderlo accessibile al WebControl.
altro nuovo metodo GetStyleAttributes(IUrlResolutionService urlResolver) che restituisce un
oggetto CssStyleCollection per l'oggetto specificato che implementi l'interfaccia
System.Web.UI.IUrlResolutionService ( in pratica tutte le classi che ereditano da Control).
a cambiamenti nella classe Style, corrispondono alcuni cambiamenti alla classe Page (non
sono gli unici e nemmeno i più importanti).
la proprietà Header restituisce un oggetto che implementi l'interfaccia IPageHeader.
l'interfaccia IPageHeader , definisce alcuni membri.
la proprietà che interessa gli amanti della classe Style :) è StyleSheet, che restituisce
un oggetto che implementa IStyleSheet.
e siamo arrivati alla fine :) IStyleSheet definisce un metodo RegisterStyle( Style
style,IUrlResolutionService urlResolver), con il quale finalmente potremo registrare e
vedere renderizzato il nostro Style nel Head della pagina.
ecco un esempio preso dalla documentazione:
void Page_Load(object sender, EventArgs e) { if (Page.Header != null) { // Create a Style object to hold style rules to apply to a Label control. Style labelStyle = new Style(); labelStyle.ForeColor = System.Drawing.Color.DarkRed; labelStyle.BorderColor = System.Drawing.Color.DarkBlue; labelStyle.BorderWidth = 2; // Register the Style object so that it can be merged with // the Style object of the controls that use it. Page.Header.StyleSheet.RegisterStyle(labelStyle, null); // Merge the labelCssStyle style with the label1 control's // style settings. label1.MergeStyle(labelStyle); label1.Text = "This is what the labelCssStyle looks like."; } }
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.
- Modificare il controllo TreeView, il 2 dicembre 2008 alle 19:27
- Perfezioniamo il ProfileDataSorce, il 13 ottobre 2008 alle 11:14
- Un DataSource per il Profile, il 10 ottobre 2008 alle 15:06
- TrueSpace 7 gratuito, il 24 luglio 2008 alle 10:59
- adesso dico la mia sull'Iphone, il 22 luglio 2008 alle 10:33
- Come tutto ebbe inizio, il 21 luglio 2008 alle 09:22