声明性服务器端样式
如果主题是通过设置 @Page
指令或配置的 <pages/>
节的 Theme 属性 (attribute) 应用的,则主题中的外观属性 (property) 将重写页中目标控件的同名属性 (property)。下面的示例演示页中的一个标签,它的 ForeColor 属性设置为蓝色。在应用的主题中,标签外观将 ForeColor 属性定义为橙色。运行页时,可注意到主题定义优先于本地控件属性,因此所有标签都呈现为橙色。
通过将 @Page
指令或配置的 <pages/>
节的 StyleSheetTheme 属性设置为主题的名称,可以将主题定义作为服务器端样式来应用。主题属性用作 StyleSheetTheme 时,可能被页中的控件重写。下面的示例演示上一个示例中的主题,将其作为 StyleSheetTheme 来应用。注意,在页中定义的 ForeColor 属性优先于主题定义,所以现在标签呈现为蓝色。
Theme 和 StyleSheetTheme 优先级
StyleSheetTheme 应在应用程序开发过程中应用,它作为从页中提取样式信息的手段,使应用程序的行为可独立于应用程序的外观进行维护。对应用程序应用 StyleSheetTheme 后,您可能还希望应用 Theme。如果对应用程序既应用 Theme 又应用 StyleSheetTheme,则按以下顺序应用控件的属性:
- 首先应用 StyleSheetTheme 属性
- 应用页中的控件属性(重写 StyleSheetTheme)
- 最后应用 Theme 属性(重写控件属性和 StyleSheetTheme)