21 WPF-Steuerelemente
21.1 Die Hierarchie der WPF-Komponenten
Alle WPF-Komponenten befinden sich innerhalb einer tief reichenden Vererbungshierarchie. Ausgehend von Object werden mit jeder weiteren Ableitung neue Eigenschaften und Methoden eingeführt, was zu einer immer weiter fortschreitenden Spezialisierung der Typen führt. In Abbildung 21.1 sehen Sie einen Ausschnitt aus dieser Vererbungshierarchie. Sie erhebt keinen Anspruch auf Vollständigkeit, soll Ihnen aber einen Überblick über die wichtigsten Basisklassen verschaffen, die in diesem und dem folgenden Kapitel häufiger genannt werden.
Abbildung 21.1 Die Vererbungshierarchie der WPF-Komponenten
In der folgenden Tabelle 21.1 werden die wichtigsten Merkmale der Klassen beschrieben.
Klasse | Beschreibung |
Die von dieser Klasse abgeleiteten Klassen erlauben nur den Zugriff aus dem Thread, in dem das Objekt erzeugt worden ist. Die meisten Klassen haben DispatcherObject als Basis, sind deshalb auch nicht threadsicher. |
|
Diese Klasse ist die Basis für alle Klassen, die abhängige Eigenschaften unterstützen. In dieser Klasse sind die Methoden GetValue und SetValue definiert. |
|
Die Klasse Freezable dient als Basis für alle die Objekte, die in einen schreibgeschützten Zustand (read-only) gesetzt werden können, der auch als fixed bezeichnet wird. Fixierte Freezable-Objekte gelten, im Gegensatz zu DispatcherObject-Objekten, als threadsicher. Um ein paar Vertreter dieser Gruppe zu nennen: Pen, Brush oder auch Transform. |
|
Die Klasse Visual dient als elementare Basis für alle Objekte. Sie unterstützt das Rendering von Controls und ist damit verantwortlich für die Darstellung. |
|
Diese Klasse ist ähnlich der Klasse UIElement, hat aber selbst keine eigene Darstellung. Objekte, die auf ContentElement zurückzuführen sind, werden meist von Objekten gehostet, |
|
Die Klasse Visual dient als Basis für alle visuellen Objekte, die Routed Events unterstützen. Außerdem wird auch ein großer Teil des allgemeinen Eingabe- und Fokusverhaltens für Elemente hier definiert. |
|
In dieser Klasse wird die Unterstützung von Styles, Datenbindung, Ressourcen und weiterer allgemeiner Techniken eingeführt (z. B. Tooltips und Kontextmenüs). |
|
Die Klasse Control ist die Basisklasse aller Steuerelemente und fügt der Vererbungshierarchie weitere Eigenschaften hinzu (z. B. Background, Foreground). Außerdem stellt diese Klasse die Unterstützung von Templates bereit, mit denen die Darstellung der Steuerelemente individuell geändert werden kann. |
|
Diese Klasse enthält die Klasse UIElement, beschreibt jedoch Elemente ohne eigenes Rendering. Stattdessen werden ContentElement-Objekte von Objekten gehostet, die von Visual abgeleitet sind. |
|
Entspricht der Beschreibung der Klasse FrameworkElement, gilt allerdings für ContentElement-Objekte. |
Ihre Meinung
Wie hat Ihnen das Openbook gefallen? Wir freuen uns immer über Ihre Rückmeldung. Schreiben Sie uns gerne Ihr Feedback als E-Mail an kommunikation@rheinwerk-verlag.de.