Attribut-Ebenen

Die Attribut-Ebenen beschreiben das Aussehen der Controls durch Attributdefinitionen.

Ebene 1: Attributdefinition am Control auf Projektebene

Die Attributdefinition an einer Control-Instanz überschreibt alle Eigenschaften, die durch ein Theme definiert werden. Die Attributdefinition am Control erfolgt über das Eigenschaften Fenster oder direkt im HTML-Code. Die Attributdefinition am Control ist das übliche Vorgehen, um die Standardeigenschaften des Base-Themes zu überschreiben, wenn kein weiteres Theme definiert ist.

Diese Möglichkeit besteht seit der Version 1.8.

Ebene 2: Attributdefinition in einer Klasse auf Projektebene

Die Attributdefinition in einer Klasse erfolgt im Theme-Editor des jeweiligen Themes auf Projektebene. Einem Control wird die Klasse als Eigenschaft hinzugefügt, sodass es automatisch die Attributdefinitionen der Klasse übernimmt. Die Attributdefinition in einer Klasse überschreibt die Attributdefinition für einen Control-Typ, falls beide Definitionen das gleiche Attribut beinhalten.

Ebene 3: Attributdefinition pro Control-Typ auf Projektebene

Die Attributdefinitionen in einem Control-Typ erfolgt im Theme-Editor des jeweiligen Themes auf Projektebene. Die Attributdefinition in einem Control-Typ gilt für alle Instanzen des jeweiligen Controls in dem Projekt und wird nur durch die Ebene 1 oder die Ebene 2 überschrieben.

Ebene 4: Attributdefinition pro Control-Typ auf Controlebene

Die Attributdefinition pro Control-Typ auf Controlebene erfolgt direkt im Verzeichnis des Controls und wird durch den Control-Entwickler festgelegt. Die Definition erfolgt wie in der Ebene 2 innerhalb einer „.theme“-Datei. Für die Standard-Controls kann diese Eigenschaft auf Control-Ebene nicht verändert werden. Die Attributdefinition pro Controltyp auf Controlebene steht daher nur für Framework Control Entwickler zur Verfügung.

Ebene 5: Attributdefinition durch DefaultValueInternal auf Controlebene

Der DefaultValueInternal definiert die Eigenschaften eines Attributes unabhängig von dem aktiven Theme und wird verwendet, wenn das Attribut nicht in den höheren Ebenen durch ein Theme überschrieben wird.

Neben den Attributdefinitionen besteht auf den Ebenen 2 bis 4 die Möglichkeit, sogenannte „ThemedResources“ zu konfigurieren. Bei den „ThemedResoruces“ handelt es sich um Control-Eigenschaften, die nicht über das Eigenschaften Fenster konfiguriert werden können und nur über das Theme-System veränderbar sind. Ein Beispiel dafür sind die Knob-Definitionen am LinearGauge. Die Definition der „ThemedResources“ wird durch den Control-Entwickler übernommen.