主題與外觀 skins

2021-04-07 09:28:50 字數 2279 閱讀 9888

應用乙個屬性,並且您無法通過成組地設定控制項的可視屬性來賦予控制項主題。asp.net 2.0提供了一項新功能,即輸入主題和外觀。該功能簡化了生成精美頁面的任務。

要檢視主題和外觀的工作方式,請將以下指令新增到datasource2.aspx中,如圖2 所示:

圖2 datasource2.aspx

現在重新整理該頁面。結果如圖3中所示。

圖3 主題和外觀的工作方式

接下來,賦予該頁面完全不同的外觀,方法是:新增乙個元素,並且更改@ page指令以指示要使用的頁面主題:

@ page指令的新theme屬性以宣告方式將主題應用到頁面中。還可以使用page類的theme屬性以程式設計方式應用主題。主題是外觀的集合,而外觀是應用於乙個控制項型別的一組可視屬性。basicblue和**okeandglass是asp.net 2.0附帶的幾個預定義(或全域性)主題中的兩個。您可以在microsoft.net/framework/.../ asp.netclientfiles/themes下的子目錄中找到它們。

您可以定義自己的主題和外觀,並且自定義地將它們部署到應用程式themes目錄的子目錄中。每個子目錄構成乙個主題,並且主題名稱與子目錄名稱相同。乙個主題子目錄包含乙個或多個.skin檔案以及該主題使用的任何其他資源(例如,影象檔案和樣式表)。實際的外觀定義包含在.skin檔案中,並且非常類似於用來在aspx檔案中宣告控制項例項的標記。

為說明這一點,請在包含datasource2.aspx的資料夾中建立乙個名為themes的子目錄。在該themes目錄中,建立乙個名為shockingpink的子目錄。將以下內容複製到shockingpink目錄中的新建的.skin檔案中:

接下來,將datasource2.aspx中的@ page指令更改為:

<%@ page theme="shockingpink" %>

上述操作的結果無疑是曾經建立過的最為華麗的web頁之一。

shockingpink.skin定義了dropdownlist和datagrid控制項的預設外觀。外觀檔案不必與它們所屬的主題具有相同的名稱(儘管它們通常如此)。乙個主題可以包含多個.skin檔案,而單個.skin檔案可以為任意數量的控制項型別定義屬性。此外,asp.net還可以區分預設外觀和非預設外觀。根據定義,缺少skinid屬性的外觀是預設外觀。非預設外觀包含可以通過控制項標記中的skinid屬性引用的skinid。

asp.net 2.0將引入大約50種新的控制項型別,以便幫助您生成豐富的使用者介面,同時使您無須應付html、客戶端指令碼和瀏覽器文件物件模型(dom)的各種變幻莫測的行為。「新增控制項」提要欄列出了直至本文撰寫時規劃的新控制項(web部件控制項除外)。

dynamicimage控制項簡化了在web頁中顯示動態生成的影象的任務。在過去,開發人員經常編寫自定義http處理程式來處理動態影象生成,甚至更糟糕的是,處理aspx檔案中生成的影象。dynamicimage使得這兩種技術都過時了。圖4 中的**使用dynamicimage控制項來繪製餅圖。關鍵語句是那個將影象位分配給控制項的imagebytes陣列的語句。

dynamicimage控制項利用了新增的asp.net 2.0影象生成服務。另一種訪問影象生成服務的方法是,在asp.net 2.0的全新asix檔案中動態生成影象。本文隨附的示例檔案(可從msdn magazine web站點上獲得)包含乙個名為dynamicimage.asix的檔案,它展示了asix檔案的要素。要執行該檔案,請將dynamicimage.asix複製到web伺服器的某個虛擬目錄中,然後在瀏覽器中啟用該檔案。

<%@ import namespace="system.drawing" %>

<%@ import namespace="system.drawing.imaging" %>

<%@ import namespace="system.io" %>

圖4 dynamicimage.aspx

asp.net 2.0中首次亮相的另乙個有趣且非常有用的控制項是multiview控制項。與view控制項搭配使用時,multiview可用來建立包含多個邏輯檢視的頁面。一次只能顯示乙個檢視(其索引被分配給multiview的activeviewindex屬性的那個檢視),但您可以通過更改活動檢視索引來切換檢視。對於使用選項卡或其他控制項來讓使用者在邏輯頁之間進行導航的頁面而言,multiviews是非常理想的。

圖5 中的頁面使用乙個multiview來顯示pubs資料庫titles表的兩個不同檢視:其中乙個用gridview呈現,另乙個用detailsview呈現。檢視切換是通過從下拉列表中進行選擇來完成的。請注意,標記中的allowpaging屬性使使用者可以瀏覽detailsview中的記錄。

<%@ page theme="basicblue" %>

圖5 multiview.aspx

母版頁,主題,外觀

母版頁 1 內容頁中的內容可以手動新增。對於已經建好的內容也,在母版頁增加新的contentplaceholder後,在內容頁中,需要手動新增 2 母版頁中可以有預設內容,這時內容中如果有相應的站位,則預設內容會被替換。3 頁面中涉及到等資源路徑時,需要注意路徑如何指定。頁面沒有在同一位置時會出現不...

主題與面板

主題和 主題類似於層疊樣式表 css 因為它們都可以為web頁面定義各種樣式。但主題比css更進一步,它允許給應用程式的頁面應用樣式 影象甚至css檔案,可以在應用程式 頁面或伺服器控制項級別上應用asp.net中的主題。建立主題 一 建立外觀檔案 1 可以有多個主題 3.在主題檔案下新增外觀檔案 ...

VC6 0 如何使程式外觀和系統的主題外觀顯示一致

首先宣告這個在網上找的方式。由於本人對vc也不是很熟悉,所以具體的原因也不知道,但是我試過了這種方式是可以的。首先把我的方法介紹如下 第一步 在你要實現xp風格介面的程式裡新增資源檔案manifest.xml 我認為名字不可改 manifest.xml內容如下 大家也看到了,這其實是乙個xml檔案,...