Xpages 主题不适用于按钮

Xpages 主题不适用于按钮,xpages,Xpages,我开始玩主题游戏。我能够创建CSS,并将CSS与各种表格元素相关联。很好 现在我试着用一个按钮做同样的事情。但它似乎不起作用。如果我将styleclass应用到按钮上,那么它就会工作 <theme extends="oneuiv2.1"> <resource> <content-type>text/css</content-type> <href>app.css</href> </resource&

我开始玩主题游戏。我能够创建CSS,并将CSS与各种表格元素相关联。很好

现在我试着用一个按钮做同样的事情。但它似乎不起作用。如果我将styleclass应用到按钮上,那么它就会工作

<theme extends="oneuiv2.1"> 

<resource>
    <content-type>text/css</content-type>
    <href>app.css</href>
</resource>

<resource>
    <content-type>text/css</content-type>
    <href>viewpicklistCC.css</href>
</resource>


<control>
    <name>Button</name>
    <property>
        <name>styleClass</name>
        <value>MyButton</value>
    </property>
</control>



<control>
    <name>HtmlTable</name>
    <property>
        <name>styleClass</name>
        <value>PNCTable</value>
    </property>
</control>

<control>
    <name>HtmlTd</name>
    <property>
        <name>styleClass</name>
        <value>PNCTableCell</value>
    </property>
</control>


</theme>


.MyButton {
width:179.0px;
font-family:Arial,sans-serif;
font-size:18pt;
color:rgb(255,128,0);
font-weight:bold
}

文本/css
app.css
文本/css
viewpicklistCC.css
按钮
样式类
我的按钮
HtmlTable
样式类
PNCTable
HTM有限公司
样式类
PNCTableCell
.我的按钮{
宽度:179.0px;
字体系列:Arial,无衬线;
字号:18pt;
颜色:rgb(255128,0);
字体大小:粗体
}

在主题中,您需要使用控件的主题id才能将其作为目标。这与CSS样式类不同

您可以在控件(在Style-theme中或在所有属性-Style-theme-id中)上手动设置主题id,然后通过引用此主题id以控件为目标

或者,您可以使用控件的默认主题id。XPageswiki包含核心控件的默认主题ID列表:

因此,在您的情况下,您需要使用以下主题ID之一来定位您的按钮:

Button: Button.Command
Button with type=submit: Button.Submit
Button with type=cancel: Button.Cancel

并使用getComponent(“ELEMENTID”).getStyleKitFamily()获取组件类型的themeId。请注意,一些扩展库组件没有getStyleKitFamily()方法。Paul感谢您发布此消息。这将是我要问的下一个问题。谢谢!看起来这个列表可能不完整,但多亏了保罗,你才可以填好这些。如果将其作为设计器的一部分,右键单击该控件并获取其主题id以及其他重要属性,那就太好了。手动应用的主题id是如何工作的?那是按样式设置的吗?我可以给我的自定义控件一个主题id,然后我的用户程序员可以在他们自己的主题中使用该id吗?是的,正如答案中所述,主题id是在样式下设置的。您可以在自定义控件上设置主题id,但我还没有尝试使用它。但是,是的,该主题id可以被重用该自定义控件的其他人使用。