コントロールエントリは、テーマ ID によって識別されます。 実行時に、コントロール名を突き合わせることにより正しいスタイル属性が特定されます。
テーマのコントロールエントリのネーミング
コントロールは、テーマ ID によって識別されます。テーマ ID は、コントロールごとにユーザーによって設定されるか、コントロールクラスに基づいて導出されます。 この ID は、以下のようなコントロール定義内の <name> エントリに一致します。
<control>
<name>Button</name>
...
</control>
コンテキストに基づいてコントロールのアピアランスを変更するには、追加のサブエントリが使用できます。 例えば、[送信] ボタンと [アクション] ボタンの外観は異なります。 以下のエントリでは、[送信] と [アクション] のボタンを定義しています。
<control>
<name>Button.Submit</name>
...
</control>
<control>
<name>Button.Action</name>
...
</control>
実行時に、継承を使用して正しいスタイルが特定されます。 完全に一致する項目が存在する場合 (例: Button.Action) は、 そのスタイルが使用されます。 その他の場合は、親のエントリ (最後のドットの前にある部分、例: Button) が使用されます。 これは、エントリが検出されるまで、または追加の親エントリがなくなるまで、再帰的に実行されます。 一致するエントリが検出されない場合、そのコントロールにはテーマが適用されません。
XML ファイル形式では大文字と小文字が区別されることに注意してください。 そのため、コントロール名とプロパティ名は正しく入力されている必要があります (Button は button と等価ではありません)。
コントロール名
コントロール名の完全なリストを以下に示します。
// Body
BODY = "ViewRoot"
// Form
FORM = "Form"
// OutputText
TEXT = "Text"
TEXT_COMPUTED = "Text.ComputedField"
TEXT_FORMAT = "Text.Format"
TEXT_LABEL = "Text.Label"
// InputText
INPUTFIELD = "InputField"
INPUTFIELD_EDITBOX = "InputField.EditBox"
INPUTFIELD_SECRET = "InputField.Secret"
INPUTFIELD_DATETIMEPICKER = "InputField.DateTimePicker"
INPUTFIELD_TEXTAREA = "InputField.TextArea"
INPUTFIELD_RICHTEXT = "InputField.RichText"
INPUTFIELD_HIDDEN = "InputField.Hidden"
INPUTFIELD_FILEUPLOAD = "InputField.FileUpload"
// FileDownload
FILEDOWNLOAD = "DataTable.FileDownload"
FILEDOWNLOAD_LINK = "Link.FileDownload"
// Links
LINK = "Link"
// Button
BUTTON = "Button"
BUTTON_COMMAND = "Button.Command"
BUTTON_SUBMIT = "Button.Submit"
BUTTON_CANCEL = "Button.Cancel"
// CheckBox
CHECKBOX = "CheckBox"
// RadioButton
RADIOBUTTON = "RadioButton"
// ListBox
LISTBOX = "ListBox"
// ComboBox
COMBOBOX = "ComboBox"
// Image
IMAGE = "Image"
// Messages
MESSAGE = "Message"
MESSAGE_LIST = "Message.List"
// Panel
PANEL = "Panel"
// Section
SECTION = "Section"
// Tabbed Panel
TABBEDPANEL = "TabbedPanel"
TABBEDPANELTAB = "TabbedPanelTab"
// Table
DATATABLE = "DataTable"
COLUMN = "Column"
// View
VIEWPANEL = "DataTable.ViewPanel"
VIEWPANEL_TITLE = "Text.ViewTitle"
VIEWCOLUMN = "Column.View"
VIEWCOLUMN_TEXT = "Text.ViewColumn"
VIEWCOLUMN_TEXT_COMPUTED = "Text.ViewColumnComputed"
VIEWCOLUMN_LINK = "Link.ViewColumn"
VIEWCOLUMN_IMAGE = "Image.ViewColumn"
VIEWCOLUMN_CHECKBOX = "CheckBox.ViewColumn"
VIEWCOLUMN_HEADER = "Panel.ViewColumnHeader"
VIEWCOLUMN_HEADER_TEXT = "Text.ViewColumnHeader"
VIEWCOLUMN_HEADER_LINK = "Link.ViewColumnHeader"
VIEWCOLUMN_HEADER_CHECKBOX = "CheckBox.ViewColumnHeader"
VIEWCOLUMN_HEADER_ICON = "Image.ViewColumnHeaderIcon"
VIEWCOLUMN_HEADER_IMAGESORT = "Image.ViewColumnHeaderSort"
VIEWCOLUMN_HEADER_IMAGE = "Image.ViewColumnHeader"
// Script
SCRIPT = "Script"
// HTML tags
HTML_DIV = "HtmlDiv"
HTML_BR = "HtmlBr"
HTML_P = "HtmlP"
HTML_SPAN = "HtmlSpan"
HTML_TABLE = "HtmlTable"
HTML_TR = "HtmlTr"
HTML_TD = "HtmlTd"