无论我做什么,只应用应用程序属性中设置的主题。主题ID无法按预期工作。
例如:
我有两个自定义控件,每个控件有5个视图。我尝试为第一个自定义控件中的所有视图设置视图标题属性,主题与第二个自定义控件相同,但主题(和标题)不同。
两个自定义控件都存在于同一页面上。
我试图解决的问题是,我不想为同一类型的每个组件的属性键入函数,而是只想在一个地方进行。在这种情况下,一个自定义控件中的所有视图或者面板中的所有视图......
答案 0 :(得分:0)
关于主题:afaik我们只能为每个应用程序定义一个主题。此主题可以继承其他主题,但需要在整个服务器的文件系统级别安装和注册。
关于您的方案:
如果你真的想用主题解决这个问题,你可以使用单独的主题ID。但我真的没有看到在这里使用主题的好处。据我了解你的任务,我会使用自定义控件的自定义属性来解决它。然后计算视图标题以引用该属性,如
<xp:viewTitle xp:key="viewTitle" id="viewTitle1"
value="#{javascript:compositeData.ccViewTitle}">
</xp:viewTitle>
在设计时,包含X页面或自定义控件会将适当的视图标题提供给子控件:
<xc:ccInner ccViewTitle="View Title for First CC in Page"></xc:ccInner>
<xc:ccInner ccViewTitle="View Title for Second CC in Page"></xc:ccInner>
如有必要,您还可以计算此值。