.NET Framework 4 - ASP.NET How to: Apply ASP.NET Themes You can apply themes to a page, a Web site, or globally. Setting a theme at the Web site level applies styles and skins to all the pages and controls in the site unless you override a theme for an individual page. Setting a theme at the page level applies styles and skins to that page and all its controls. By default, themes override local control settings. Alternatively, you can set a theme as a style sheet theme, so that the theme applies only to control settings that are not explicitly set on the control. To apply a theme to a Web siteIn the application's Web.config file, set the <pages> element to the name of the theme, either a global theme or a page theme, as shown in the following example:
<configuration>
<system.web>
<pages theme="ThemeName" />
</system.web>
</configuration>
Note |
|---|
If an application theme has the same name as a global application theme, the page theme takes precedence. |
To set a theme as a style sheet theme and be subordinated to local control settings), set the styleSheetTheme attribute instead:
<configuration>
<system.web>
<pages styleSheetTheme="Themename" />
</system.web>
</configuration>
A theme setting in the Web.config file applies to all ASP.NET Web pages in that application. Theme settings in the Web.config file follow normal configuration hierarchy conventions. For example, to apply a theme to only a subset of pages, you can put the pages in a folder with their own Web.config file or create a <location> element in the root Web.config file to specify a folder. For details, see Configuring Specific Files and Subdirectories. To apply a theme to an individual pageSet the Theme or StyleSheetTheme attribute of the @ Page directive to the name of the theme to use, as shown in the following example:
<%@ Page Theme="ThemeName" %>
<%@ Page StyleSheetTheme="ThemeName" %>
The theme and its corresponding styles and skins now applies only to the page declaring it.

Applying Skins to Controls
Skins defined in your theme apply to all control instances in the application or pages to which the theme is applied. In some cases, you might want to apply a specific set of properties to an individual control. You can do that by creating a named skin (an entry in a .skin file that has a SkinID property set) and then applying it by ID to individual controls. To apply a named skin to a controlSet the control's SkinID property, as shown in the following example:
<asp:Calendar runat="server" ID="DatePicker" SkinID="SmallCalendar" />
If the page theme does not include a control skin that matches the SkinID property, the control uses the default skin for that control type.

See Also
TasksConceptsOther Resources
|
.NET Framework 4 - ASP.NET Procedura: applicare temi ASP.NET I temi possono essere applicati a una pagina, a un sito Web o a livello globale. L'impostazione di un tema a livello di sito Web comporta l'applicazione di stili e interfacce a tutte le pagine e i controlli del sito, a meno che non venga eseguito l'override di un tema per una singola pagina. L'impostazione di un tema a livello di pagina comporta l'applicazione di stili e interfacce alla pagina e a tutti i relativi controlli. Per impostazione predefinita, i temi eseguono l'override delle impostazioni dei controlli locali. In alternativa, è possibile impostare un tema come tema del foglio di stile in modo che venga applicato solo alle impostazioni dei controlli non esplicitamente impostate nel controllo. Per applicare un tema a un sito WebNel file Web.config dell'applicazione impostare l'elemento <pages> sul nome del tema, sia esso globale o della pagina, come illustrato nell'esempio seguente:
<configuration>
<system.web>
<pages theme="ThemeName" />
</system.web>
</configuration>
Nota |
|---|
Se un tema dell'applicazione ha lo stesso nome del tema dell'applicazione globale, il tema della pagina avrà la precedenza. |
Per impostare un tema come tema del foglio di stile e renderlo subordinato alle impostazioni dei controlli locali, impostare invece l'attributo styleSheetTheme:
<configuration>
<system.web>
<pages styleSheetTheme="Themename" />
</system.web>
</configuration>
L'impostazione di un tema nel file Web.config viene applicata a tutte le pagine Web ASP.NET dell'applicazione. Le impostazioni riportate nel file Web.config seguono le normali convenzioni gerarchiche di configurazione. Per applicare un tema solo a un sottoinsieme di pagine, è ad esempio possibile inserire le pagine in una cartella insieme al relativo file Web.config oppure creare un elemento <location> nel file Web.config radice per specificare una cartella. Per informazioni dettagliate, vedere Configurazione di sottodirectory e file specifici. Per applicare un tema a una singola paginaImpostare l'attributo Theme o StyleSheetTheme della direttiva @ Page sul nome del tema da utilizzare, come illustrato nell'esempio seguente:
<%@ Page Theme="ThemeName" %>
<%@ Page StyleSheetTheme="ThemeName" %>
Il tema con gli stili e le interfacce corrispondenti vengono ora applicati solo alla pagina in cui sono dichiarati.

Applicazione di interfacce ai controlli
Le interfacce definite nel tema vengono applicate a tutte le istanze dei controlli nell'applicazione o nelle pagine a cui viene applicato il tema. In alcuni casi è possibile applicare un insieme specifico di proprietà a un singolo controllo. A tale scopo, creare un'interfaccia denominata (un elemento in un file skin su cui è impostata una proprietà SkinID), quindi applicarla in base all'ID ai singoli controlli. Per applicare un'interfaccia denominata a un controlloImpostare la proprietà SkinID del controllo, come illustrato nell'esempio seguente:
<asp:Calendar runat="server" ID="DatePicker" SkinID="SmallCalendar" />
Se il tema di una pagina non include l'interfaccia di un controllo corrispondente alla proprietà SkinID, il controllo utilizzerà l'interfaccia predefinita per quel tipo di controllo.

Vedere anche
|