Erstellen einer Master-Details-Datenbindung
Ein Master-Details-Design bietet zwei Ansichten:
Eine Masteransicht, in der eine Liste von Elementen angezeigt wird. In der Regel ist dies eine Sammlung von Daten.
Eine Detailansicht, in der Details zum Element angezeigt werden, das in der Liste ausgewählt ist
Dieses Benutzerhandbuch ist ein Beispiel für das Master-Details-Design, in dem das Inhaltsverzeichnis die Masteransicht und das angezeigte Hilfethema die Detailansicht ist.
Mit Microsoft Expression Blend können Sie auf einfache Weise Daten zur Zeichenfläche in einem Master-Details-Design hinzufügen. Dazu stehen zwei Modi für das Datenpanel zur Verfügung:
Im Listenmodus wird aus Elementen, die Sie aus dem Datenpanel ziehen, die Masteransicht erstellt. Sie können Elemente auf ein ListBox-, DataGrid- oder TreeView-Steuerelement ziehen. Wenn Sie Elemente auf einen leeren Bereich der Zeichenfläche ziehen, wird automatisch ein ListBox-Steuerelement erstellt.
Im Detailmodus wird aus Elementen, die Sie aus dem Datenpanel ziehen, die Detailansicht in einem Rasterpanel erstellt. Alternativ dazu können Sie ein anderes Layoutpanel (z. B. ein Canvas-Layoutpanel) erstellen und die Elemente auf dieses Layoutpanel ziehen.
Im Hintergrund konfiguriert Expression Blend die Beziehung zwischen der Masteransicht und der Detailansicht automatisch, indem die DataContext-Eigenschaft des Grid-Objekts auf die SelectedItem-Eigenschaft des Objekts gesetzt wird, das die Masteransicht anzeigt. Diese Beziehung kann auch manuell konfiguriert werden.
Tipp: |
---|
Expression Blend beinhaltet ein Beispiel, das ein einfaches Master-Details-Design veranschaulicht und in dem die Darstellung der Master- und Detailobjekte angepasst wird. Um das Beispiel in Expression Blend zu öffnen, klicken Sie im Menü Hilfe auf Willkommensseite, anschließend auf die Registerkarte Beispiele und auf ColorSwatchSL. |
So erstellen Sie automatisch eine Master-Details-Datenbindung
Wenn Sie über keine Datenquelle verfügen, die Sie verwenden können, erstellen Sie eine Beispieldatenquelle und aktivieren eine Laufzeitverwendung für diese Datenquelle.
Weitere Informationen finden Sie unter Generieren von Beispieldaten.
Klicken Sie im Datenpanel auf Listenmodus .
Tipp: Im Listenmodus wird für Elemente von Daten, die Sie auf die Zeichenfläche ziehen, vorausgesetzt, dass diese eigenständige Datenbindungen oder Teil einer Masteransicht sind. Dies ist der Standardmodus des Datenpanels.
Ziehen Sie im Datenpanel eine oder mehrere Eigenschaften aus einer Datensammlung auf die Zeichenfläche (um ein ListBox-Objekt zu erstellen) oder auf ein vorhandenes ListBox- , DataGrid- oder TreeView-Objekt .
Hinweis: Wenn das Dialogfeld Datenbindung erstellen angezeigt wird, befinden Sie sich vermutlich im Detailmodus anstatt im Listenmodus.
Das Objekt zeigt die Datensammlung für jede Eigenschaft an.
Ziehen von Daten im Listenmodus auf ein "ListBox"-Objekt
Ziehen von Daten im Listenmodus auf ein "DataGrid"-Objekt
Ziehen von Daten im Listenmodus auf ein "TreeView"-Objekt
Klicken Sie im Datenpanel auf Detailmodus .
Tipp: Im Detailmodus wird für Elemente von Daten, die Sie auf die Zeichenfläche ziehen, vorausgesetzt, dass diese Teil einer Detailansicht sind. Ein Grid-Objekt wird erstellt, um die untergeordneten Objekte für jedes Datenelement anzuzeigen. Das Grid-Objekt wird automatisch konfiguriert, sodass es den Datenkontext und das ausgewählte Element des letzten Objekts verwendet, das im Listenmodus erstellt wurde.
Ziehen Sie im Datenpanel eine oder mehrere Eigenschaften aus einer Datensammlung auf die Zeichenfläche (um ein Rasterpanel zu erstellen) oder auf ein vorhandenes Layoutpanel.
Im Layoutpanel wird ein TextBlock-Steuerelement für den Namen und Wert jeder Eigenschaft angezeigt.
Ziehen von Daten im Detailmodus nach Erstellen der "ListBox"-Steuerelementbindung
Ziehen von Daten im Detailmodus nach Erstellen der "DataGrid"-Steuerelementbindung
Ziehen von Daten im Detailmodus nach Erstellen der "TreeView"-Steuerelementbindung
Drücken Sie F5, um Ihre Anwendung zu testen. Klicken Sie auf Elemente in der Masteransicht, um die entsprechende Aktualisierung in der Detailansicht zu sehen.
Auswählen von Elementen in Mastersteuerelementen zum Aktualisieren ihrer Detailansicht
So erstellen Sie manuell eine Master-Details-Datenbindung
Wenn Sie über keine Datenquelle verfügen, die Sie verwenden können, erstellen Sie eine Beispieldatenquelle und aktivieren eine Laufzeitverwendung für diese Datenquelle.
Weitere Informationen finden Sie unter Generieren von Beispieldaten.
Wählen Sie im Werkzeugpanel ein Steuerelement aus, das Sie in der Masteransicht anzeigen möchten, z. B. ein ComboBox-Steuerelement , und ziehen Sie es auf die Zeichenfläche.
Klicken Sie im Panel Objekte und Zeitachsen mit der rechten Maustaste auf das neue Objekt, dann auf Umbenennen, geben Sie den neuen Namen ein, und drücken Sie die EINGABETASTE.
Tipp: Wenn ein Objekt erstellt wird, erhält es keinen expliziten Namen. Indem Sie das Objekt umbenennen, erstellen Sie einen Namen, auf den die DataContext-Eigenschaft des Detailansichtobjekts verweisen kann.
Klicken Sie im Datenpanel auf Listenmodus .
Ziehen Sie im Datenpanel eine oder mehrere Eigenschaften aus einer Datensammlung auf das Masterobjekt.
Ziehen von Daten im Listenmodus auf ein "ComboBox"-Objekt
Klicken Sie im Datenpanel auf Detailmodus .
Ziehen Sie im Datenpanel eine oder mehrere Eigenschaften aus einer Datensammlung auf die Zeichenfläche (um ein Rasterpanel zu erstellen) oder auf ein vorhandenes Layoutpanel.
Im Layoutpanel wird ein TextBlock-Steuerelement für den Namen und Wert jeder Eigenschaft angezeigt.
Ziehen von Daten im Detailmodus nach Erstellen der "ComboBox"-Steuerelementbindung
Drücken Sie F5, um Ihre Anwendung zu testen. Wenn durch die Auswahl eines anderen Elements im Masterobjekt die Detailansicht nicht aktualisiert wird, fahren Sie mit dem nächsten Schritt fort.
Wählen Sie das Layoutpanel (i. d. R. ein Grid-Objekt) aus, das die Detailansicht darstellt.
Klicken Sie anschließend im Eigenschaftenpanel neben der DataContext-Eigenschaft auf Erweiterte Eigenschaftenoptionen und dann auf Datenbindung.
Klicken Sie im Dialogfeld Datenbindung erstellen auf die Registerkarte Elementeigenschaft.
Wählen Sie unter Szenenelementen das Masterobjekt aus, und klicken Sie dann unter Eigenschaften auf die SelectedItem-Eigenschaft.
Erstellen einer Beziehung zwischen dem Detailobjekt und dem Masterobjekt
Klicken Sie auf OK, um das Dialogfeld Datenbindung erstellen zu schließen.
Alle untergeordneten Elemente im Detaillayoutpanel verwenden den Datenkontext des ausgewählten Elements des Masterobjekts.
Überprüfen Sie, dass die untergeordneten Elemente des Detaillayoutpanels an die entsprechenden Dateneigenschaften gebunden sind. Einige der untergeordneten Elemente sind nicht an Daten gebunden, da sie nur den Namen einer Dateneigenschaft anzeigen. Die anderen untergeordneten Elemente sollten datengebunden sein, da sie die Daten anzeigen, die mit dem ausgewählten Element im Masterobjekt verknüpft sind. Wählen Sie beispielsweise eines der untergeordneten TextBlock-Elemente aus, für das kein Dateneigenschaftsname angezeigt wird, und suchen Sie dann im Eigenschaftenpanel nach der Text-Eigenschaft. Wenn es keinen gelben Begrenzungsrahmen um die Eigenschaft gibt, ist das TextBlock-Objekt nicht datengebunden. So binden Sie das TextBlock-Objekt
Klicken Sie neben der Text-Eigenschaft auf Erweiterte Eigenschaftenoptionen , und klicken Sie auf Datenbindung.
Klicken Sie im Dialogfeld Datenbindung erstellen auf die Registerkarte Expliziter Datenkontext.
Erweitern Sie unter Felder den Knoten Auflistung, und wählen Sie die Dateneigenschaft aus, die Sie in diesem TextBlock-Objekt anzeigen möchten.
Klicken Sie auf OK, um das Dialogfeld Datenbindung erstellen zu schließen.
Ein gelber Begrenzungsrahmen wird um die Text-Eigenschaft angezeigt und gibt an, dass die Eigenschaft jetzt datengebunden ist.
Drücken Sie F5, um Ihre Anwendung zu testen.
Siehe auch
Aufgaben
Verwenden von DataGrid-Steuerelementen
Verwenden des "TreeView"-Steuerelements