定制skin模板中的用户控件时,为了更好的管理样式,我们一般推荐定义样式表,然后在相应的地方添加样式,我们最好也不摇在用户控件中直接引入样式表,这样很容易出错。所以Subtext提供了一个配置文件Skins.config,其为一个定制的xml文件,专为skin设置,你可以为每套模板有选择性的添加样式文件,如下

Subtext--为skin准备相关文件加载<?xml version="1.0"?>
Subtext--为skin准备相关文件加载
<SkinTemplates xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
Subtext--为skin准备相关文件加载    
<!--
Subtext--为skin准备相关文件加载        Note that multiple skins may share the same template folder.
Subtext--为skin准备相关文件加载        Each template folder by 
default should have a style.css file. 
Subtext--为skin准备相关文件加载        This file does not need to be configured 
in this section.
Subtext--为skin准备相关文件加载        
Subtext--为skin准备相关文件加载        For skins that share a template folder, the skins should be 
Subtext--为skin准备相关文件加载        distinguished by their stylesheet.  Note that when specifying 
Subtext--为skin准备相关文件加载        a StyleSheet
="" attribute, this style is rendered AFTER "style.css" 
Subtext--为skin准备相关文件加载        allowing the skin to 
override template specific styles.
Subtext--为skin准备相关文件加载    
-->
Subtext--为skin准备相关文件加载    
<Skins>
Subtext--为skin准备相关文件加载        
<SkinTemplate Name="AnotherEon001" TemplateFolder="AnotherEon001">
Subtext--为skin准备相关文件加载            
<Styles>
Subtext--为skin准备相关文件加载                
<Style href="~/skins/_System/csharp.css" />
Subtext--为skin准备相关文件加载                
<Style href="~/skins/_System/commonstyle.css" />
Subtext--为skin准备相关文件加载                
<Style href="~/skins/_System/commonlayout.css" />
Subtext--为skin准备相关文件加载                
<Style href="print.css" media="print" />
Subtext--为skin准备相关文件加载            
</Styles>
Subtext--为skin准备相关文件加载        
</SkinTemplate>
Subtext--为skin准备相关文件加载
Subtext--为skin准备相关文件加载        
<SkinTemplate Name="BlueBook" TemplateFolder="RedBook" StyleSheet="Blue.css">
Subtext--为skin准备相关文件加载            
<Scripts>
Subtext--为skin准备相关文件加载                
<Script Src="~/Admin/Resources/Scripts/niceForms.js" />
Subtext--为skin准备相关文件加载            
</Scripts>
Subtext--为skin准备相关文件加载            
<Styles>
Subtext--为skin准备相关文件加载                
<Style href="~/skins/_System/csharp.css" />
Subtext--为skin准备相关文件加载                
<Style href="~/skins/_System/commonstyle.css" />
Subtext--为skin准备相关文件加载                
<Style href="~/skins/_System/commonlayout.css" />
Subtext--为skin准备相关文件加载                
<Style href="niceforms-default.css" />
Subtext--为skin准备相关文件加载                
<Style href="print.css" media="print" />
Subtext--为skin准备相关文件加载            
</Styles>
Subtext--为skin准备相关文件加载        
</SkinTemplate>
</Skins>
</SkinTemplates>

这里包含几个元素呢?

一.SkinTemplates为根路径
二.Skins表示模板集合
三.SkinTemplate表示一个模板的内容包含Styles和Scripts
四.Styles表示要加载的样式文件集合
五.Scripts表示要加载的脚本文件集合

页面会根据模板到这个配置文件里来读取并加载相关文件。

xml定义好了,你该如何做呢.利用xml序列化的功能.你首先得为上面的几个对象定义实体类

    }


注意元数据属性,是为必须的,根据元数据熟悉属性再看看那个xml文件,意思是一一对应的。

接着便是SkinTemplates的真正反序列化的过程了,接着呢你就可以来个迭代,来加载相关skin文件了。
当然别忘了定义一个集合skins
Subtext--为skin准备相关文件加载        [XmlArray("Skins")]
Subtext--为skin准备相关文件加载        
public List<SkinTemplate> Templates
        }

相关文章:

  • 2022-03-06
  • 2022-12-23
  • 2021-07-11
  • 2021-07-25
  • 2021-12-05
  • 2022-01-21
  • 2022-12-23
  • 2021-10-24
猜你喜欢
  • 2021-10-28
  • 2022-03-10
  • 2022-12-23
  • 2022-12-23
  • 2021-06-25
  • 2022-01-28
  • 2021-12-29
相关资源
相似解决方案