2012-03-04 4 views
3

私はデフォルトのクラスをxp:textコントロールや他のコントロールに適用したくないアプリケーションで作業しています。現時点では、私は私のコードでこれをやっている:xp:textと他のコントロールのデフォルトクラスをオフにしますか?

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

お知らせstyleClassの=「noClass」noClassが存在しない場所の上に。特定のXPageまたはアプリケーションプロパティとしてこれを選択的に実現するより良い方法がありますか?これを他のコントロールのオン/オフにすることは可能ですか? http://xpageswiki.com/web/youatnotes/wiki-xpages.nsf/dx/Work_with_themes

しかし、私は、特定のコントロールのために、デフォルトではまったくクラスを設定されていない達成しようとしています:

は、私がこれを発見しました。

ご協力いただきありがとうございます。

答えて

9

disableThemeオプションは100%有効ですが、に、そのタイプのすべての要素に適用することを忘れないでくださいする必要がありますそれらの要素の自動クラスを無効にします。

もう1つの選択肢はテーマであり、あなたが提供したリンクを持つソリューションに非常に近いです。拡張しているテーマ(WebstandardやOneuiなど)をオーバーライドするには、アプリケーションテーマにコントロールセクションを追加する必要があります。 XP用

:あなたがテーマの文書で、次の

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

のようなものオーバーライド=「true」を必要とするテキストコントロールは、このコントロールは、あなたが継承テーマを上書きすることができます。 falseに設定すると、マージ元のテーマと結合されます。

mode = "override"は、xp:要素にsytleClassを追加すると、レンダリング時にその要素に適用されるonのみになります。 mode = "concat"の場合、要素に追加されたstyleClassは、テーマコントロールで指定されたstyleClassと共にレンダリングされます。

すべてのコントロールのテーマIDの名前のリストを取得したい場合は、Tim Tripconyはサーバー上にIDがright hereのすべての要素をリストするデータベースを持っています。

+0

扱いのように動作します - ありがとうございます! – pipalia

5

プロパティdisableThemeをtrueに設定します。これは

コード例など、XSPスタイルクラスへの参照を削除します:

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

多くのおかげでジェレミー - 私は個々の要素ではなく、xpage /アプリケーションレベルでこれを実現したいと考えていましたが。 – pipalia

+0

私はちょうど私の質問が適切に言われていないことに気づいた、私の謝罪はジェレミー、あなたの助けに感謝します。 – pipalia

関連する問題