如何结合ASP.NET皮肤文件和DevExpress主题程序集?

时间:2014-10-23 13:59:37

标签: asp.net devexpress

你能组合ASP.NET皮肤文件和DevExpress主题程序集吗?

我目前正在测试用于Web开发的DevExpress组件。我的目标是使用外观文件来更改Web应用程序中多个组件的某些属性。例如,我想为ASPxGridView设置PageSize属性。我最终想要实现的是拥有一些预定义的主题即。大都会然后更改皮肤文件中的一些次要属性。 据我所知,有两种方式可以应用主题:

  1. 使用ASP.NET机制应用主题。为此,您应该创建一个包含必要文件的文件夹结构
  2. App_Themes 
       Metropolis
           Controls.Skin
           Metropolis.css
           … images …
    

    缺点是这不是推荐的devxpress方法,我必须维护所有的主题文件。而我想要改变的只是皮肤文件中的一个设置

    <%@ Register TagPrefix="dx" Namespace="DevExpress.Data" assembly="DevExpress.Data.v14.1, Version=14.1.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" %>
    <%@ Register TagPrefix="dx" Namespace="DevExpress.Web.ASPxGridView" Assembly="DevExpress.Web.v14.1, Version=14.1.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" %>
    <dx:ASPxGridView runat="server" >
        <SettingsPager PageSize="20">
        </SettingsPager>
    </dx:ASPxGridView>
    
    1. 使用DevExpress机制创建一个主题 创建一个新的主题程序集并将其部署到Web应用程序。 On在web.config中使用以下设置
    2. <devExpress>
          <themes enableThemesAssembly="true" styleSheetTheme="" theme="Metropolis" />
      </devExpress>
      

      缺点是要更改单个设置(pageSize),必须通过整个过程来创建自定义程序集。这需要时间和不必要的工作。甚至在devexpress中打开一个主题ASPxThemeBuilder工具需要很长时间。简而言之...愚蠢。另一个缺点是应用的变化在整个质量中都会丢失。一个人没有概述改变了什么,什么不改变。也很糟糕。

      我想知道是否有第三种方式在devexpess文档中暗示。但他们的文档很多,很少说。即我的想法是使用内置主题程序集,然后将它与一个简单的皮肤文件结合起来,我只定义我需要修改的属性。然而,devexpress docs没有提供有关该主题的更多信息。 这可能吗?如何?

1 个答案:

答案 0 :(得分:0)

如果您使用ASP.NET mechanism,请通过相应的属性(而不是通过DevExpress部分)指定主题:

<system.web>
    <pages theme="Metropolis" />
     ...
</system.web>

<devExpress>
    <themes enableThemesAssembly="true" styleSheetTheme="" theme="" />
</devExpress>
  

我想知道是否有第三种方式在devexpess文档中暗示。

检查此主题:Appearance Customization - Theming