Exemplarische Vorgehensweise: Implementieren eines neuen Formats
Aktualisiert: November 2007
Die Style-Basisklasse stellt für die meisten ASP.NET Mobile-Steuerelemente genügend Eigenschaftenformate bereit. Für einzelne Steuerelemente können aber spezielle Formatklassen erforderlich sein, die weitere steuerelementspezifische Eigenschaften bereitstellen.
Alle speziellen Formatklassen müssen von der Style-Basisklasse erben. Die Basisklasse stellt automatische Unterstützung für Zustandsverwaltung und Vererbung bereit. Zum Verwenden dieser Features müssen alle neuen Eigenschaften der speziellen Formatklasse in einer von der Basisklasse vorgegebenen Eigenschaft definiert und gespeichert werden.
So fügen Sie einer speziellen Formatklasse Unterstützung für Eigenschaften hinzu
Schreiben Sie eine spezielle Formatklasse, die von der Style-Basisklasse erbt.
Überschreiben Sie die CreateStyle-Methode des Steuerelements, und geben Sie eine Instanz der speziellen Formatklasse zurück.
protected override Style CreateStyle() { return new NewStyle(); }
Sie können wahlweise auch eine neue Eigenschaft für das Steuerelement mit strikter Typbindung an die Style-Eigenschaft erstellen. Diese neue Eigenschaft kann im folgenden Schritt (Schritt 4) verwendet werden.
protected NewStyle NewStyle { get { return (NewStyle)Style; } }
Stellen Sie für jede neue Eigenschaft in der speziellen Klasse eine Eigenschaft in der eigentlichen Steuerelementklasse bereit. Diese Eigenschaften sind die öffentlichen Accessoren für die Formateigenschaften. Die Implementierungen dieser Eigenschaften können das Formatobjekt aufrufen.
protected String ThemeName { get { return NewStyle.ThemeName; } set { NewStyle.ThemeName = value; } }
So fügen Sie ein neues Format hinzu
Deklarieren Sie eine öffentliche static string als Memberfeld, das mit dem Rückgabewert eines Aufrufs der in der Basisklasse definierten RegisterStyle-Methode initialisiert wird. Im folgenden Codebeispiel wird eine string-Eigenschaft erstellt, die Vererbung unterstützt und deren Standardwert die leere string ("") ist.
public static String ThemeNameKey = RegisterStyle(ThemeName, typeof(String), String.Empty, true);
Die RegisterStyle-Methode registriert die neue Formateigenschaft und gibt einen eindeutigen Schlüssel zurück, mit dem auf das Format in der Eigenschaft verwiesen werden kann. Die Parameter der RegisterStyle-Methode definieren den Namen, Datentyp und Standardwert der Eigenschaft sowie das Vererbungsverhalten.
Der Schlüssel muss öffentlich sein, da Steuerelementadapter ihn auch verwenden, um auf den vererbungsfähigen Wert der Eigenschaft zuzugreifen.
Erstellen Sie mit der Standard-Indexereigenschaft der Basisklasse eine öffentliche Eigenschaft, deren Implementierung auf die Eigenschaft zugreift.
public String ThemeName { get { return (String)this[ThemeNameKey]; } set { this[ThemeNameKey] = value; } }
Siehe auch
Konzepte
Zugreifen auf Formateigenschaften in Geräteadaptern