样式
控件使用样式有两种方式
一是HTML控件通过的Style属性中定义,服务器控件通过CssClass属性定义
二是通过定义一个CSS样式文件,并引用。
外观
外观包含各个控件的属性设置。控件外观设置类似于控件标记本身,但只包含您要作为主题的一部分来设置的属性。
外观
两种类型的控件外观
默认外观
当向页应用主题时,默认外观自动应用于同一类型的所有控件。如果控件外观没有 SkinID 属性,则是默认外观(默认外观严格按控件类型来匹配,举例: Button 控件外观适用于所有 Button 控件,但不适用于 LinkButton 控件或从 Button 对象派生的控件。)
命名外观
已命名外观是设置了 SkinID 属性的控件外观。已命名外观不会自动按类型应用于控件。而应当通过设置控件的 SkinID 属性将已命名外观显式应用于控件。通过创建已命名外观,可以为应用程序中同一控件的不同实例设置不同的外观。
注意
通过编程指定外观时,静态控件的SkinId属性只能在Page_PreInit事件之中或之前设置。对于动态创建的控件,应该在将该属性添加到控件集合之前设置
主题
主题由一组元素组成:外观、级联样式表 (CSS)、图像和其他资源。主题放在ASP.NET2.0网站工程的特殊文件加App_Themes中的,这个文件夹属于系统文件夹。
注意
通过编程指定主题时,静态控件的SkinId属性只能在Page_PreInit事件之中或之前设置。对于动态创建的控件,应该在将该属性添加到控件集合之前设置
禁用主题
站点禁用主题:在web.config里设置为<pages theme=””>即可。
页面禁用主题:<% Page EnableTheming=”false”>
控件禁用肢体:设置EnableTheming属性为false即可。
规则及优先级
主题中控件的设置和页中控件的设置将进行合并,这样来构成最终设置。如果遇到题中控件和页中控件同时设置时使用一下规则:
应用程序域或页使用Theme属性时,以主题设置优先,主题中的设置会覆盖控件中的设置
应用程序域或页使用StyleSheetTheme属性时,以控件设置优先,控件的设置会覆盖主题中的设置。