|
|
ASP.NET QuickStart Príručka
Použitie tém na prispôsobenie vzhľadu stránky
Predchádzajúca sekcia ukázala množstvo spôsobov špecifikácie štýlov pre ovládacie prvky nastavením štýlových vlastností na
samotných ovládacích prvkoch. Prezrite si stránku v nasledujúcej ukážke, v rámci ktorej sú na ovládacie prvky aplikované štýlové nastavenia.
VB Page with No Theme Applied
ASP.NET 2.0 ku definovaniu štýlov na jednotlivé ovládacie prvky pridáva témy, ktoré ponúkajú jednoduchý spôsob,
ako definovať štýlové nastavenia ovládacích prvkov a stránok pre vašu aplikáciu oddelene od stránok vašej aplikácie.
Prínos tém spočíva v tom, že môžete navrhovať stránku bez ohľadu na štýl a aplikovať ho neskôr bez potreby aktualizovať stránky, alebo aplikačný kód.
Môžete dokonca dodať témy z externého zdroja aby ste aplikovali štylistické nastavenia na Vašu aplikáciu. Výhoda použitia témy spočíva v oddelení definície témy od zvyšku aplikačného kódu.
Nasledujúci príklad ukazuje tú istú stránku, na ktorú je aplikovaná téma, ktorá zároveň určuje štýlové nastavenia pre ovládacie prvky.
Všimnite si, že samotná stránka nemusí obsahovať žiadnu informáciu o štýle. Téma automaticky aplikuje štýlové nastavenia na prvky počas behu aplikácie.
VB Page with Example Theme Applied
Adresár App_Themes
Témy sú umiestnené v adresári App_Themes priamo v koreňovom adresári aplikácie. Téma pozostáva z pomenovaného podadresára, ktorý
zahŕňa kolekciu jedného alebo viacerých Skin súborov, ku ktorým je pridaná prípona .skin.
Téma môže tiež obsahovať súbor CSS a/alebo podadresáre so statickými súbormi (obrázky a iné multimédiá). Obrázok nižšie zobrazuje
adresár App_Themes s dvomi definovanými témami, ktoré sú pomenované "Default" a "White". Každá s uvedených tém má jeden súbor povrchu(skin) a jeden súbor s definíciou štýlov (CSS).
Ako ste mohli vidieť v predchádzajúcom príklade, obsah súboru povrchu sú jednoducho definície vzhľadu jednotlivých ovládacích prvkov.
Súbor povrchu môže obsahovať definíciu viacerých ovládacích prvkov (na príklad jednu definíciu pre každý použitý ovládací prvok).
Vlastnosti definované v téme automaticky prekryjú hodnotu lokálnej vlastnosti ovládacieho prvku toho istého typu na stránke na ktorú je aplikovaná téma.
Na príklad definícia ovládacieho prvku <asp:Calendar Font-Name="Verdana" runat="server"/> v súbore povrchu spôsobí,
že všetky ovládacie prvky Calendar na stránkach s aplikovanou témou budú používať font Verdana. Lokálna hodnota vlastnosti
na ovládacom prvku bude prekrytá témou. Uvedomte si, že je chyba určiť hodnotu vlastnosti ID v definícii ovládacieho
prvku v súbore povrchu (.skin).
Globálne a aplikačné témy
Téma môže byť uplatnená na úrovni aplikácie, alebo na úrovni servera (globálne prístupná pre všetky aplikácie). Témy na úrovni aplikácie
sú uložené v adresári App_Themes v rámci koreňového adresára aplikácie. Globálne témy sú prístupné v adresári "Themes"
pod adresárom ASP.NETClietnFiles v inštalačnom adresári ASP.NET, na príklad %WINDIR%\Microsoft.NET\Framework\<version>\ASP.NETClientFiles\Themes pre všetky webové aplikácie.
Priradenie témy stránke
Tému môžete priradiť stránke nastavením direktívy <%@ Page Theme="..." %> na meno globálnej alebo aplikačnej témy (názov adresára
v rámci adresárov Themes resp. App_Themes).
Na stránku môže byť aplikovaná len jediná téma v rámci ktorej môžu existovať viaceré súbory povrchov určujúce štýlové nastavenia ovládacích prvkov na stránke.
Priradenie témy v konfigurácii
Definovať tému, ktorá bude aplikovaná pre všetky stránky aplikácie môžete v rámci sekcii <pages theme="..."/> súboru Web.config.
Aby ste zabránili použitiu štandardnej témy pre niektorú zo stránok, nastavte atribút Theme v direktíve Stránky na prázdny reťazec ("").
Stránka master page nemôže mať aplikovanú tému; mali by ste nastaviť tému priamo v stránkach, ktoré sú založené na bázovej stránke, alebo v rámci konfigurácie.
VB Assigning a Theme in Web.config
Vyradenie tém pre ovládací prvok
Špecifický ovládací prvok môže byť vylúčený z aplikácie Témy na jeho vlastnosti nastavením
vlastnosti EnableTheming na false.
VB Disabling Themes for a Control
|
|