熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> .NET編程 >> 正文

在ASP.NET 2.0中使用樣式、主題和皮膚[8]

2013-11-13 11:03:09  來源: .NET編程 


  主題和皮膚的內容

  前面的部分已經講過皮膚文件包含了控件屬性值的定義它可以應用在程序的同種類型的控件上這一部分討論添加到皮膚文件或主題的哪些內容是有效的

  Themable(可應用主題的)屬性

  皮膚文件中的控件定義只能包含屬性的值它們都被標記為Themeable(可應用主題)每個控件都可以通過在屬性上使用ThemeableAttribute來定義一組屬性把不可應用主題的屬性添加到皮膚文件中會導致錯誤出現某個控件本身可能被主題排除了例如數據源控件就不可應用主題在默認情況下任何控件的ID屬性是不能應用主題的除非控件有特定的要求否則在默認情況下它的所有屬性都是可以應用主題的你可以參照NET框架組件參考文檔來確認控件的屬性是否可以應用主題

  在主題中使用CSS

  通過把級聯樣式表(CSS)放置在命名主題的子目錄中你可以給該主題添加CSS如果頁面包含了<head runat=server/>控件定義那麼該CSS樣式表將應用於所有使用了該主題的頁面你可以根據需要重命名CSS文件只要它的擴展名是css一個主題可以包含多個CSS文件當頁面中包含了CSS文件的引用(在<head/>元素中使用<link rel=stylesheet href=/>標記)的時候主題中的CSS文件都在頁面的樣式表後面應用

  在主題中使用圖像

  主題中也可以包含圖像它們是皮膚文件中的控件定義引用的皮膚文件中的圖像引用必須使用主題目錄下的圖像文件夾的相對路徑這樣皮膚文件和圖像才能輕易地隨應用程序遷移在運行時圖像的路徑會被重新定位因此對目標頁面中的控件來說這個引用是相對的下面的例子演示了一個包含圖像子目錄的主題

<%@ Page Language=VB Theme=MyTheme %>

<asp:Image ID=Image SkinID=Warning runat=server />
<asp:Label ID=Label runat=server Text=Hello /><br />
<asp:Image ID=Image SkinID=Warning runat=server />
<asp:Label ID=Label runat=server Text=Hello /><br />
<asp:Image ID=Image SkinID=Warning runat=server />
<asp:Label ID=Label runat=server Text=Hello /><br />


  定制控件集合主題

  你在皮膚文件中設置的大多數屬性都是一些簡單的值屬性例如FontNameWidth和 BackColor但是你也可以設置皮膚集合屬性皮膚集合屬性並非應用在目標控件的集合項的屬性上而是在使用主題或使用StyleSheetTheme合並集合的時候完全地替代集合

  這對於某些包含樣式集合的集合屬性是有用處的例如TreeView控件的LevelStyles(層次樣式)屬性或Menu控件的LevelMenuItemStyles(菜單項樣式)LevelSubMenuItemStyles(子菜單項樣式)或LevelSelectedStyles(選中的樣式)屬性

  TreeViewskin的內容

<asp:TreeView runat=server
FontNames=Verdana
ForeColor=Black
HoverNodeStyleFontUnderline=true
ShowExpandCollapse=false
NodeIndent=

<LevelStyles>
<asp:TreeNodeStyle ChildNodesPadding= FontBold FontSize=pt ForeColor=DarkGreen/>
<asp:TreeNodeStyle ChildNodesPadding= FontBold FontSize=pt />
<asp:TreeNodeStyle ChildNodesPadding= FontUnderLine FontSize=pt />
<asp:TreeNodeStyle FontSize=pt />
</LevelStyles>
</asp:TreeView>

[]  []  []  []  []  []  []  []  []  


From:http://tw.wingwit.com/Article/program/net/201311/15068.html
    推薦文章
    Copyright © 2005-2013 電腦知識網 Computer Knowledge   All rights reserved.