Share via


Datenverarbeitung (Übersicht)

Diese Seite bezieht sich auf WPF und Silverlight 2

Daten sind die Grundlage aller Benutzeroberflächen. Von Hotelzimmerreservierungen bis hin zu Darstellungen der Börsenkurse ermöglichen Benutzeroberflächen die Anzeige von und Interaktion mit Daten. Welche Benutzeroberflächenkomponenten verwendet werden, und wie diese für einen sinnvollen Arbeitsablauf angeordnet werden, hängt im Wesentlichen von den Daten ab, die verwendet werden sollen.

Datenquellen

Für Ihre Anwendung werden möglicherweise nur interne Datenquellen verwendet, und eventuell werden mit einigen Zahlen, die ein Benutzer in ein Formular eingegeben hat, Berechnungen durchgeführt. Andere Anwendungen, die Sie erstellen, benötigen möglicherweise Zugriff auf externe Datenquellen wie z. B. Datenbanken, Webfeeds, Webdienste oder lokale Dateien mit Informationen. Außerdem benötigen einige Anwendungen möglicherweise Zugriff auf interne und externe Datenquellen. Microsoft Expression Blend unterstützt derzeit zwei verschiedene externe Datenquellen: XML- und CLR-Objekte.

  • XML-Datenquelle   Eine lokale oder eine Remote-XML-Datei, die für die Anwendung Daten im XML-Format bereitstellt. Sie können eine XML-Datei verwenden, die Sie dem Projekt hinzugefügt haben, oder Sie können für die Datenquelle die URL einer XML-Datei auf einer Website festlegen.

    Cc295161.alert_note(de-de,Expression.10).gifHinweis:

    Silverlight 2 unterstützt keine XML-Datenquellen. Sie finden jedoch weitere Informationen zum Arbeiten mit XML-Daten unter Analysieren von XML-Daten in Silverlight in MSDN (möglicherweise in englischer Sprache).

  • CLR-Objektdatenquelle (Common Language Runtime)   Ein Objekt mit öffentlichen Eigenschaften, Untereigenschaften und Indexerstellungen, an die die Zieleigenschaften gebunden werden können. Für WPF-Anwendungen können Sie eine Microsoft .NET Framework-Klassenbibliothek verwenden, mit der Daten aus einer Datenbank in ein ObservableCollection-Objekt konvertiert werden. Weitere Informationen finden Sie unter Weiterführende Themen: Erstellen einer CLR-Objektdatenquelle oder in den Themen in der Datenbindung (Übersicht) in MSDN. Weitere Informationen zu Silverlight 2-Anwendungen finden Sie unter Silverlight 2-Datenbindung in MSDN (möglicherweise in englischer Sprache).

    Cc295161.alert_note(de-de,Expression.10).gifHinweis:

    Microsoft Expression Blend unterstützt keine CLR-Objektdatenquellen-Klassen, die im Konstruktor Parameter enthalten.

Liste mit Datenquellen eines WPF-Projekts im Projektpanel von Expression Blend

Cc295161.108f0ba7-cf63-46a9-9512-5662579c9a3f(de-de,Expression.10).png

Externe Datenquellen, die mit dem aktiven Dokument in Expression Blend verknüpft sind, werden im Projektpanel unter Daten aufgelistet. Mithilfe der Schaltflächen Cc295161.25182a96-9a69-478a-9cfe-5b360e6a9bea(de-de,Expression.10).png können Sie Datenquellen hinzufügen und entfernen, und Sie können Datenelemente Cc295161.05fe4b1d-f584-4bd2-99b6-8bc2d735a89d(de-de,Expression.10).png auf die Zeichenfläche ziehen, um in Bezug auf die Elemente datengebundene Steuerelemente zu erstellen. Wenn keine Datenquellen festgelegt sind, werden im Projektpanel unter Daten nur die Schaltflächen angezeigt, die zum Erstellen einer Datenquelle verwendet werden.

Cc295161.7e183f1f-37d8-4dcb-980c-19a5d61ca087(de-de,Expression.10).gifNach oben

Datenbindung

Bei der Datenbindung wird ein Element in einer Datenquelle an Benutzeroberflächenkomponenten (Steuerelemente) gebunden. Das bedeutet, dass beim Ändern der Daten die Änderungen in den Oberflächenkomponenten und umgekehrt angezeigt werden können. Das einfachste Beispiel für eine Datenbindung ist ein Schieberegler-Steuerelement, das intern an die Breite eines Rechtecks gebunden ist. Beim Verschieben des Schiebereglers wird das Rechteck größer oder kleiner.

Von Expression Blend wird eine einfache und einheitliche Möglichkeit zum Binden der Elemente in der Anwendung an unterschiedliche Datenquellen sowie zum Konfigurieren der Elemente zum Anzeigen und Ändern der Daten bereitgestellt. Eine Bindung wird im Wesentlichen zwischen einer Quelle und einem Ziel erstellt. Die Quelle ist in der Regel eine Datenquelle oder ein anderes Steuerelement, und das Ziel ist ein Steuerelement. Bei dem Beispiel mit dem Schieberegler ist die Quelle die Value-Eigenschaft des Schieberegler-Steuerelements, und das Ziel ist die Width-Eigenschaft des Rechtecks.

Sie können Bindungen mit der Schaltfläche Erweiterte Eigenschaftenoptionen Cc295161.d6ba8f4a-b8a2-445a-af0b-a267dfade6e1(de-de,Expression.10).png erstellen, die mit den Eigenschaften im Eigenschaftenpanel verknüpft ist, oder Sie können die Elemente aus dem Projektpanel unter Daten auf die Zeichenfläche ziehen. (Anweisungen hierzu finden Sie unter Binden von Daten an eine Eigenschaft oder an ein Element.) Mit beiden Optionen wird das Dialogfeld Datenbindung erstellen aufgerufen. Hier können Sie Bindungsverknüpfungen zwischen einem Steuerelement (dem Ziel) und einem Datenfeld oder einem anderen Steuerelement (der Quelle) erstellen.

Das Dialogfeld "Datenbindung erstellen" mit dem erweiterten Bereich für erweiterte Optionen

Cc295161.8fcdc007-d9cd-430d-81d5-29ac9b88ee31(de-de,Expression.10).png

Das Dialogfeld Datenbindung erstellen enthält drei grundlegende Optionen zum Auswählen einer Datenquelle sowie erweiterte Optionen:

  • Datenfeld   Diese Option enthält die im Projekt erstellten XML- und CLR-Objektdatenquellen sowie die zugehörigen verknüpften Felder. Sie können neue XML-Datenquellen oder CLR-Objektdatenquellen hinzufügen oder bereits erstellte, vorhandene Verbindungen verwenden. Um ein Feld zum Binden auszuwählen, wählen Sie unter Datenquellen ein Element und dann unter Felder ein Datenelement aus. Der Datenelementtyp muss mit dem Eigenschaftentyp übereinstimmen, an den er gebunden wird, außer Sie verfügen über einen Wertkonverter, den Sie anwenden können (Informationen hierzu finden Sie unter "Erweiterte Optionen" weiter unten in diesem Thema). Nach dem Erstellen der Datenbindung wird der Wert der Zieleigenschaft mit dem Datenelement gefüllt.

  • Elementeigenschaft   Mithilfe dieser Option kann die Eigenschaft eines Elements ähnlich wie bei der Bindung der Width-Eigenschaft eines Rechtecks an die Value-Eigenschaft eines Schiebereglers im Beispiel weiter oben in diesem Thema an die Eigenschaft eines anderen Elements in derselben XAML-Datei (Extensible Application Markup Language) gebunden werden. Suchen Sie zum Erstellen dieser Bindung im Eigenschaftenpanel nach der Zieleigenschaft (in diesem Beispiel Width-Eigenschaft eines Rechtecks), klicken Sie auf die Schaltfläche Erweiterte Eigenschaftenoptionen Cc295161.d6ba8f4a-b8a2-445a-af0b-a267dfade6e1(de-de,Expression.10).png und dann auf Datenbindung. Klicken Sie auf die Registerkarte Elementeigenschaft, suchen Sie in den Elementen im linken Fensterbereich den Schieberegler (Quellelement), und suchen Sie anschließend in der Liste mit Eigenschaften im rechten Fensterbereich die Value-Eigenschaft.

    Cc295161.alert_note(de-de,Expression.10).gifHinweis:

    Silverlight 2 unterstützt keine Bindung zwischen Elementen.

  • Expliziter Datenkontext   Mithilfe dieser Option können Sie in dem für das aktuelle Element oder für eines der zugehörigen übergeordneten Elemente festgelegten Kontext eine Bindung an eine Datenquelle erstellen. Ein Datenkontext ist eine bequeme Möglichkeit, Daten durch Festlegen eines Bereichs, in dem alle datengebundenen Eigenschaften eine gemeinsame Quelle verwenden, in mehreren Steuerelementen zu verwenden. Beispiel: Sie können einem Grid-Objekt, das ein ListBox- und ein TextBlock-Objekt enthält, einen Datenkontext zuweisen und Eigenschaften von beiden Objekten an unterschiedliche Datenelemente in demselben Kontext binden. Dies ist nützlich, wenn Sie ein Masterdetaildesign erstellen möchten, bei dem Sie auf ein Element in einer Liste (Masterbereich) klicken und daraufhin die Informationen zu diesem Element in einem anderen Objekt (Detailbereich) angezeigt werden. Auf der Registerkarte Expliziter Datenkontext sind im Bereich Felder die im vererbten Datenkontext verfügbaren Datenverbindungsfelder aufgelistet. Hier können Sie das entsprechende Feld für die Zieleigenschaft auswählen.

    Cc295161.alert_note(de-de,Expression.10).gifHinweis:

    Bei allen drei oben aufgeführten Optionen können Sie für die Datenbindung einen benutzerdefinierten Pfad-Ausdruck oder einen XPath-Ausdruck (XML Path Language) auswählen. Der XPath-Ausdruck wird automatisch mit dem Pfad zu dem Element gefüllt, das unter Felder ausgewählt wurde. Sie können den Pfad jedoch anfügen, um die Daten einzugrenzen, die aus der Datenquelle eingebracht werden. Geben Sie hierzu beispielsweise bestimmte Knoten in den XML-Daten an, die Sie verwenden möchten, wie z. B. ein Element in einem Array. Weitere Informationen zum Verwenden von XPath finden Sie in den Themen XPath-Syntax und Gewusst wie: Binden an XML-Daten mithilfe von XMLDataProvider und XPath-Abfragen in MSDN.

  • Erweiterte Optionen   Über den erweiterten Bereich des Dialogfelds, auf den Sie mit einem Klick auf die untere Erweiterungsschaltfläche Cc295161.81e110f1-4068-4299-957d-0693cea95088(de-de,Expression.10).png zugreifen können, können Sie erweiterte Optionen festlegen, wie z. B. die Richtung des Datenflusses (Informationen hierzu finden Sie unter "Datenfluss" weiter unten in diesem Thema), einen Standardwert für die Zieleigenschaft, einen Wertkonverter und Konverterparameter. Wertkonverter sind .NET Framework-Klassenmethoden, mit deren Hilfe Werte aus einem Typ in einen anderen konvertiert werden. Sie werden benötigt, wenn die Quell- und Zieleigenschaften nicht übereinstimmende Typen aufweisen. Sie können einen Wertkonverter hinzufügen, indem Sie neben dem Wertkonverterfeld auf die Schaltfläche mit den drei Punkten klicken, und im Dialogfeld Wertkonverter hinzufügen einen Konverter auswählen. Darüber hinaus können Sie hier auch einen Konverterparameter festlegen. (Zum Konvertieren von double in decimal müssen Sie beispielsweise einen Wert für die Anzahl der Ziffern angeben, die nach dem Dezimalkomma angezeigt werden sollen.) Ein Beispiel für einen Wertkonverter finden Sie unter Weiterführende Themen: Erstellen und Anwenden eines Wertkonverters.

Cc295161.7e183f1f-37d8-4dcb-980c-19a5d61ca087(de-de,Expression.10).gifNach oben

Datenfluss

Der Datenfluss ist als die Richtung definiert, in die Daten zwischen der Quelle und dem Ziel fließen. In dem Beispiel mit dem Schieberegler, bei dem ein Rechteck in der Größe angepasst wird, ist lediglich eine unidirektionale Bindung vom Schieberegler (Quelle) zum Rechteck (Ziel) erforderlich. Folgende Bindungskonfigurationen werden für den Datenfluss unterstützt:

  • Standard   Dies entspricht dem TwoWay-Datenfluss.

  • OneWay   Bei Änderungen an der Quelle wird das Ziel automatisch aktualisiert, bei Änderungen am Ziel wird die Quelle jedoch nicht aktualisiert.

  • TwoWay   Bei Änderungen an der Quelle wird das Ziel automatisch aktualisiert und umgekehrt.

  • OneWayToSource   Umkehrung von OneWay. Bei Änderungen am Ziel wird automatisch das Ziel aktualisiert. Dies ist in bestimmten Fällen nützlich, wenn die Zieleigenschaft im Eigenschaftenpanel nicht angezeigt wird, was vorkommen kann, wenn es sich nicht um eine dependency-Eigenschaft handelt. Mithilfe einer OneWayToSource-Bindung können Sie die Datenbindung stattdessen auf dem Ziel festlegen.

  • OneTime    Verursacht eine einmalige Initialisierung von der Quelle zum Ziel. Bei nachfolgenden Änderungen an der Quelle wird das Ziel jedoch nicht aktualisiert.

Um Datenfluss in Aktion zu sehen, stellen Sie sich das folgende Beispiel für eine Benutzeroberfläche vor, die ein Slider-Steuerelement (Quelle) und ein TextBox-Steuerelement (Ziel) enthält:

Darstellung des Datenflusses mittels Bindungstypen

Cc295161.955af9ad-a12d-41c6-9106-1ec4be43d0d4(de-de,Expression.10).png

In der Darstellung oben wird die Bindung mithilfe des folgenden Verfahrens für das Textfeld (Ziel) festgelegt:

  1. Klicken Sie im Eigenschaftenpanel auf die Schaltfläche Erweiterte Eigenschaftenoptionen Cc295161.d6ba8f4a-b8a2-445a-af0b-a267dfade6e1(de-de,Expression.10).png, die der Text-Eigenschaft (unter Allgemeine Eigenschaften) des TextBox-Steuerelements zugewiesen ist, und dann auf Datenbindung.

  2. Klicken Sie im angezeigten Dialogfeld Datenbindung erstellen auf die Registerkarte Elementeigenschaft, und wählen Sie die Value-Eigenschaft des Slider-Knotens aus.

In der folgenden Tabelle wird das Bindungsverhalten abhängig vom Bindungstyp für dieses Beispiel beschrieben:

Bindungstyp

Ergebnis

OneWay

Durch Verschieben des Schiebereglers (Quelle) wird das Textfeld (Ziel) aktualisiert. Durch Eingabe einer Zahl in das Textfeld wird der Schieberegler jedoch nicht verschoben.

TwoWay

Durch Verschieben des Schiebereglers (Quelle) wird das Textfeld (Ziel) aktualisiert. Zudem ändert sich die Position des Schiebereglers, wenn in das Textfeld eine Zahl eingegeben wird, sobald Sie mit der Maus auf eine Stelle außerhalb des Textfelds klicken.

OneWayToSource

Durch Eingabe einer Zahl in das Textfeld (Ziel) und anschließendem Klicken auf eine Stelle außerhalb des Textfelds wird der Schieberegler (Quelle) verschoben. Das Textfeld wird jedoch durch Verschieben des Schiebereglers nicht aktualisiert.

OneTime

Durch den Anfangswert des Schiebereglers (Quelle) wird das Textfeld (Ziel) beim Starten der Anwendung aktualisiert. Durch nachfolgende Änderungen am Schieberegler wird das Textfeld nicht aktualisiert. Und durch Eingabe einer Zahl in das Textfeld wird der Schieberegler in keinem Fall aktualisiert.

Cc295161.7e183f1f-37d8-4dcb-980c-19a5d61ca087(de-de,Expression.10).gifNach oben

Methoden zum Binden an externe Datenquellen

Workflow 1: Bindung von der Quelle zum Ziel

Nach dem Erstellen der externen Datenquelle können Sie die Datenquelle an Steuerelemente der Datenoberfläche binden. Hierzu stehen zwei Möglichkeiten zur Verfügung:

  • Bindung eines vorhandenen Steuerelements   Wenn sich das Steuerelement bereits im Dokument befindet, können Sie es an die Daten binden, indem Sie den Datenknoten aus dem Bereich Daten im Projektpanel auf das Steuerelement ziehen und in der Liste An vorhandenes Steuerelement binden auf den Namen des Steuerelements (Eigenschaft an Steuerelement binden) klicken.

  • Erstellen eines neuen Steuerelements   Alternativ können Sie auch einen Datenknoten aus dem Bereich Daten im Projektpanel in ein Dokument ziehen und in der Liste im Bereich Steuerelement zur Darstellung dieses Datenfelds auswählen ein Steuerelement auswählen. Mit dieser Option wird ein neues Steuerelement in das Dokument eingefügt.

Unabhängig davon, ob Sie ein vorhandenes Steuerelement binden oder ein neues erstellen, wird das Dialogfeld Datenbindung erstellen angezeigt. Hier können Sie das Feld auswählen, das Sie an die Datenquelle binden möchten. Wenn Sie beispielsweise eine Bindung durch Ziehen eines Datenelements erstellen, bei dem es sich um eine Zeichenfolge in einem TextBox-Steuerelement handelt, sollten Sie eine Bindung an das Text-Feld (standardmäßig aktiviert) dieses Knotens erstellen. Darüber hinaus können Sie weitere Bindungseinstellungen festlegen. Klicken Sie hierzu im Dialogfeld auf die Erweiterungsschaltfläche Cc295161.81e110f1-4068-4299-957d-0693cea95088(de-de,Expression.10).png. Klicken Sie auf OK, um das Dialogfeld zu schließen und die Bindung zu erstellen. Wenn die Daten beim Entwerfen bereits verfügbar sind, wird das Steuerelement durch den Wert des ausgewählten Felds aktualisiert. Anweisungen hierzu finden Sie unter Binden von Daten an eine Eigenschaft oder an ein Element.

Wenn es sich bei den Daten um eine Auflistung von Elementen (Array) handelt oder wenn das Datenelement nicht exakt mit dem Zieltyp übereinstimmt, wird das Dialogfeld Datenvorlage erstellen angezeigt. Hier können Sie bestimmte Steuerelemente zum Anzeigen der Daten auswählen. Weitere Informationen finden Sie unter Datenvorlagen weiter unten in diesem Thema.

Workflow 2: Bindung vom Ziel zur Quelle

Der vorherige Workflow startete immer bei der Datenquelle und endete beim Zielsteuerelement. Dieser Vorgang kann jedoch auch umgekehrt werden, wenn das Steuerelement bereits erstellt wurde und bekannt ist, welche Eigenschaft an die Datenquelle oder an die Eigenschaft eines anderen Steuerelements gebunden werden soll. Dieser Workflow ist bei der Bindung zwischen Elementen besonders hilfreich.

Neben den einzelnen Eigenschaftswert-Editoren im Eigenschaftenpanel befindet sich die Schaltfläche Erweiterte Eigenschaftenoptionen Cc295161.d6ba8f4a-b8a2-445a-af0b-a267dfade6e1(de-de,Expression.10).png, mit deren Hilfe Sie erweiterte Eigenschaftenoptionen, wie z. B. Datenbindungen, festlegen können. Wenn Sie im Menü für erweiterte Optionen auf Datenbindung klicken, wird das in Workflow 1 weiter oben in diesem Thema beschriebene Dialogfeld Datenbindung erstellen angezeigt.

Cc295161.7e183f1f-37d8-4dcb-980c-19a5d61ca087(de-de,Expression.10).gifNach oben

Datenvorlagen

Es wird häufig vorkommen, dass Sie eine Liste mit Elementen in der Datenquelle anzeigen möchten. Ein Datenelement, das eine Liste mit Elementen enthält, ist mit "(Array)" im Elementnamen gekennzeichnet. Wenn Sie einen Listenknoten aus dem Bereich Daten im Projektpanel in ein Dokument ziehen und in der Liste mit optionalen Steuerelementen zum Binden das ListBox-Steuerelement auswählen, wird das Dialogfeld Datenvorlage erstellen angezeigt. Hier können Sie die Datenvorlage entwerfen. Dieses Dialogfeld wird möglicherweise auch angezeigt, wenn Textsteuerelemente an Datenelemente gebunden werden, die Zeichenfolgen sind.

In einer Datenvorlage werden die Struktur und das Format für die Darstellung der Daten definiert. Wenn Sie beispielsweise das ItemsSource-Feld eines ListBox-Steuerelements an eine Liste mit Kontaktknoten in der Datenquelle binden, können Sie über die Datenvorlage festlegen, welche Felder aus dieser Liste enthalten sein sollen und welche Steuerelemente den einzelnen Feldern zugewiesen werden sollen. Sie können festlegen, dass ein Name als ein TextBlock-Steuerelement, ein Bild als ein Image-Steuerelement und ein boolesches Feld wie z. B. IsCurrentMember als ein CheckBox-Steuerelement dargestellt wird. Durch Erstellen einer Datenvorlage wird sichergestellt, dass die Daten in den Verbindungsknoten in das gewünschte optische Format übersetzt werden. Die Vorlage ermöglicht eine sehr detaillierte Festlegung der Anzeige von beliebigen Daten im Steuerelement.

Cc295161.alert_note(de-de,Expression.10).gifHinweis:

Datenvorlagen werden nur von Content- und ItemsSource-Eigenschaften unterstützt.

Im Dialogfeld Datenvorlage erstellen haben Sie folgende Möglichkeiten:

  • Verwenden Sie die Standardformatvorlage für das Steuerelement. Falls eine Bindung zu einer Liste mit Elementen erstellt wird, wird in der Standardformatvorlage häufig eine Abfolge von Textfeldern angegeben. Weitere Informationen finden Sie unter Datenformatvorlagen (Übersicht) in MSDN (möglicherweise in englischer Sprache). Diese Option ist deaktiviert, falls keine Standardvorlage für das Steuerelement vorhanden ist.

  • Verwenden Sie eine aktuelle oder vordefinierte Datenvorlage, die bereits im Projekt vorhanden ist. Diese Option ist deaktiviert, falls keine geeignete Datenvorlagenressource für das Steuerelement vorhanden ist.

  • Legen Sie eine neue Datenvorlage und Anzeigefelder fest. Mit dieser Option können Sie festlegen, welche Datenfelder in die Vorlage eingeschlossen werden sollen und welcher Steuerelementtyp den einzelnen Datenfeldern zugewiesen werden soll. Sie können zudem den Containerelementtyp auswählen, in dem alle Felder eingeschlossen sind. Klicken Sie hierzu auf den Dropdownpfeil neben dem Steuerelement, das für das oberste Element angezeigt wird. Wenn Sie in dem im Bild unten dargestellten Beispiel auf den Dropdownpfeil für StackPanel neben item geklickt und dann Grid ausgewählt haben, wird in der Datenvorlage anstelle eines StackPanel-Containers ein Grid-Container für die Elemente verwendet. Mithilfe der Pfeilschaltflächen können Sie die Reihenfolge bestimmen, in der die Datenfelder angezeigt werden. Falls keine dynamische Datenbindung vorhanden ist, aktivieren Sie das Kontrollkästchen Beispieldaten generieren. Dann können Sie das Steuerelement mit Beispieldaten auf der Zeichenfläche anzeigen, um zu prüfen, ob Ihnen die Darstellung der Vorlage gefällt.

Die Darstellung der Vorlage können Sie mithilfe des Vorschaupanels überprüfen.

Das Dialogfeld "Datenvorlage erstellen"

Cc295161.3db4f515-c88c-40de-9596-421995421dd2(de-de,Expression.10).png

Datenvorlagen werden als Ressourcen gespeichert. Wenn Sie eine vorhandene Datenvorlage ändern möchten, können Sie neben der Datenvorlage im Ressourcenpanel auf die Schaltfläche Ressource bearbeiten klicken. Der Vorlagenbearbeitungsmodus wird geöffnet, und die Vorlagenstruktur wird unter Objekte und Zeitachsen angezeigt. In diesem Bearbeitungsmodus können Sie der Vorlage Steuerelemente hinzufügen und eine Datenbindung aus dem Eigenschaftenpanel verwenden, um die Eigenschaften dieser Steuerelemente an neue Elemente aus der Datenquelle zu binden.

Cc295161.7e183f1f-37d8-4dcb-980c-19a5d61ca087(de-de,Expression.10).gifNach oben