【问题标题】:Turn off default class for xp:text and other controls?关闭 xp:text 和其他控件的默认类?
【发布时间】:2012-03-04 22:03:13
【问题描述】:

我正在开发一个应用程序,我不希望将默认类应用于 xp:text 控件和可能的其他控件。目前,我在我的代码中这样做:

<xp:text escape="false" id="computedField12" styleClass="noClass">

注意上面不存在 noClass 的 styleClass="noClass"。是否有更好的方法可以选择性地为特定 XPage 或作为应用程序属性实现此功能,是否可以为其他控件打开/关闭此功能?

我发现了这个:http://xpageswiki.com/web/youatnotes/wiki-xpages.nsf/dx/Work_with_themes

但我想要实现的是默认情况下根本不为特定控件设置任何类。

非常感谢您的帮助。

【问题讨论】:

    标签: xpages


    【解决方案1】:

    disableTheme 选项 100% 有效,但您需要记住将其应用于该类型的每个元素以禁用这些元素的自动类。

    另一个选项是主题,您非常接近使用您提供的链接的解决方案。您需要在应用程序主题中添加一个控制部分,以覆盖您正在扩展的主题(webstandard 或 oneui 等)。

    对于 xp:text 控件,您需要在主题文档中添加如下内容

        <control override="true">
          <name>Text.ComputedField</name>
          <property mode="override">
            <name>styleClass</name>
            <value />
          </property>   
         </control>
    

    override="true" 将允许此控件覆盖您继承的主题。设置为 false 它将与您合并的主题相结合。

    mode="override" 将指定如果您向 xp:element 添加一个 sytleClass,那么该 styleClass 将是渲染时唯一应用于该元素的 on。如果 mode="concat" 则添加到元素的 styleClass 将与主题控件中指定的样式类一起呈现。

    如果您想获取所有控制主题 ID 名称的列表,那么 Tim Tripcony 在他的服务器上有一个数据库,其中列出了 ID 为 right here 的所有元素。

    【讨论】:

      【解决方案2】:

      将属性 disableTheme 设置为 true。这将删除对 xsp 样式类等的任何引用。

      代码示例:

      <xp:text escape="false" id="computedField12" disableTheme="true" />
      

      【讨论】:

      • 非常感谢 Jeremy - 虽然我希望在 xpage/应用程序级别实现这一点,而不是针对每个单独的元素。
      • 我刚刚注意到我的问题措辞不当,我为 Jeremy 道歉,感谢您的帮助。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-03-08
      相关资源
      最近更新 更多