Binden eines Objekts an Daten
Daten werden angezeigt, indem ein Datenelement auf der Zeichenfläche an ein Objekt gebunden wird.
Eine Datenbindung besteht aus zwei Teilen:
Datenkontext Der Datenkontext identifiziert die Datenquelle, von der Daten abgerufen werden. Ein Datenkontext ist vererbbar, sodass Sie einen Datenkontext einem übergeordneten Objekt zuweisen können und alle untergeordneten Objekte Zugriff auf dieselben Daten haben. Das ist praktisch, wenn mehrere Objekte an Daten in derselben Datenquelle gebunden werden und wenn ein Master-Details-Design erstellt wird.
Weitere Informationen finden Sie unter Erstellen einer Master-Details-Datenbindung.
Eigenschaftenbindung Die Eigenschaftenbindung identifiziert das bestimmte Datenelement, an das eine Eigenschaft gebunden ist. Beispielsweise können Sie die Texteigenschaft eines TextBlock-Objekts an ein Zeichenfolgeelement in der Datenquelle binden, oder Sie können die ItemsSource-Eigenschaft eines ListBox-Objekts an eine Auflistung in der Datenquelle binden. Die Eigenschaftenbindung existiert eventuell nicht für dasselbe Objekt wie der Datenkontext, aber sie wird so lange bestehen bleiben, wie der Datenkontext auf einem Objekt festgelegt ist, das sich in der Objektstruktur höher befindet.
Um Datenbindungen zu erstellen, können Sie Datenelemente aus dem Datenpanel ziehen, oder Sie können manuell eine Datenbindung erstellen, indem Sie mit dem Eigenschaftenpanel den Datenkontext und die Eigenschaftenbindung festlegen.
So binden Sie Daten durch Ziehen von Elementen aus dem Datenpanel
Führen Sie im Datenpanel einen der folgenden Schritte aus:
Klicken Sie auf Listenmodus, um Daten in einem ItemsControl-Element wie ListBox, DataGrid, TreeView, ComboBox usw. anzuzeigen. Mit ListMode wird aus einer Auflistung eine Liste erstellt.
Klicken Sie auf Details-Modus, um Daten aus einem Datensatz in einer Auflistung oder ein einzelnes Datenelement anzuzeigen.
Wählen Sie im Datenpanel ein oder mehrere Datenelemente und ziehen Sie die Auswahl auf die Zeichenfläche. Sie können die Auswahl auf einen leeren Bereich der Zeichenfläche oder auf ein vorhandenes Objekt ziehen.
Microsoft Expression Blend bestimmt anhand des Datentyps, den Sie ziehen, welche Aktion unternommen wird. Folgende Tabelle führt auf, wie Expression Blend Datenauswahlen interpretiert:
Aktion
Im Listenmodus
Im Details-Modus
Ziehen Sie eine Auflistung oder Elemente in einer Auflistung auf einen leeren Bereich der Zeichenfläche.
Ein ListBox-Objekt wird zum Anzeigen der Daten erstellt, ein Datensatz pro Zeile. Die ItemsSource-Eigenschaft des ListBox-Objekts wird auf den Namen der Auflistung gesetzt. Die DataContext-Eigenschaft wird im übergeordneten Layoutpanel eingestellt.
Ein Beispiel finden Sie unter Erstellen einer Master-Details-Datenbindung.
Objekte werden erstellt, um alle ausgewählten Elemente für einen einzelnen Datensatz der Datenauflistung anzuzeigen.
Wenn dies geschieht, nachdem Sie im Listenmodus Elemente aus derselben Auflistung gezogen haben, wird automatisch eine Master-Details-Beziehung eingerichtet.
Weitere Informationen finden Sie unter Erstellen einer Master-Details-Datenbindung.
Wenn Sie zuvor im Listenmodus keine Bindung erstellt haben, werden nur Daten aus dem ersten Datensatz in der Auflistung angezeigt.
Ziehen Sie eine hierarchische Auflistung oder Elemente in einer hierarchischen Auflistung auf einen leeren Bereich der Zeichenfläche.
Ein TreeView-Objekt wird zum Anzeigen der Daten erstellt, ein Datensatz pro Zeile. Die ItemsSource-Eigenschaft des TreeView-Objekts wird auf den Namen der Auflistung gesetzt. Die DataContext-Eigenschaft wird im übergeordneten Layoutpanel eingestellt.
Ein Beispiel finden Sie unter Verwenden des "TreeView"-Steuerelements.
Objekte werden erstellt, um alle ausgewählten Elemente für einen einzelnen Datensatz der Datenauflistung anzuzeigen.
Wenn dies geschieht, nachdem Sie im Listenmodus Elemente aus derselben Auflistung gezogen haben, wird automatisch eine Master-Details-Beziehung eingerichtet.
Weitere Informationen finden Sie unter Erstellen einer Master-Details-Datenbindung.
Wenn Sie zuvor im Listenmodus keine Bindung erstellt haben, werden nur Daten aus dem ersten Datensatz in der Auflistung angezeigt.
Ziehen Sie eine Auflistung oder Elemente in einer Auflistung auf ein vorhandenes ItemsControl-Element wie ListBox, DataGrid, TreeView, ComboBox usw.
Das ItemsControl-Element zeigt die Daten an, einen Datensatz pro Zeile. Die ItemsSource-Eigenschaft des ItemsControl-Objekts wird auf den Namen der Auflistung gesetzt. Die DataContext-Eigenschaft wird im übergeordneten Layoutpanel eingestellt.
Ein Beispiel finden Sie unter Verwenden von DataGrid-Steuerelementen.
Objekte werden erstellt, um alle ausgewählten Elemente für einen einzelnen Datensatz der Datenauflistung anzuzeigen.
Wenn dies geschieht, nachdem Sie im Listenmodus Elemente aus derselben Auflistung gezogen haben, wird automatisch eine Master-Details-Beziehung eingerichtet.
Weitere Informationen finden Sie unter Erstellen einer Master-Details-Datenbindung.
Wenn Sie zuvor im Listenmodus keine Bindung erstellt haben, werden nur Daten aus dem ersten Datensatz in der Auflistung angezeigt.
Ziehen Sie ein einzelnes Datenelement, das in keiner Auflistung ist, auf einen leeren Bereich der Zeichenfläche.
Ein Objekt wird erstellt, um die Daten anzuzeigen. Wenn beispielsweise die Daten eine Zeichenfolge oder eine Zahl sind, wird ein TextBlock-Objekt erstellt. Wenn die Daten ein boolescher Wert ist, wird ein CheckBox-Element erstellt. Wenn die Daten der Pfad einer Bilddatei sind, wird das Bild in einem Bildobjekt angezeigt.
Wie im Listenmodus.
Ziehen Sie ein einzelnes Datenelement, das in keiner Auflistung ist, auf ein vorhandenes Objekt.
Expression Blend versucht zu bestimmen, an welche Eigenschaft des Objekts die Daten gebunden werden sollen. Wenn die Daten beispielsweise eine Zeichenfolge oder eine Zahl sind, werden sie an eine Content- oder Text-Eigenschaft gebunden. Wenn die Daten ein boolescher Wert sind, werden sie an eine IsEnabled- oder IsChecked- oder eine sonstige boolesche Eigenschaft gebunden. Wenn die Daten der Pfad einer Bilddatei sind, werden die Daten an eine Source-Eigenschaft gebunden.
Wenn keine passende Eigenschaft gefunden werden kann, wird das Dialogfeld Datenbindung erstellen angezeigt. In der Dropdownliste Eigenschaft von
Dialogfeld Datenbindung erstellen in der Dropdownliste Eigenschaft von, Sie können die Eigenschaft auswählen, an die die Daten gebunden werden. Wenn beispielsweise die Daten eine Zeichenfolge sind, die für jede Farbe einen hexadezimalen Wert darstellen, können Sie das Datenelement auf das Stammobjekt des Dokuments ziehen, wobei Sie die UMSCHALTTASTE gedrückt halten, und im Dialogfeld Datenbindung erstellen die Background-Eigenschaft auswählen, um die Hintergrundfarbe des Dokuments zu ändern.
Wenn der Datentyp nicht zum Eigenschaftentyp passt, versucht Expression Blend, die Daten zu konvertieren. Wenn keine Konvertierung durchgeführt werden kann, werden die Daten nicht angezeigt. In diesem Fall müssen Sie einen Wertkonverter erstellen und ihn im Dialogfeld Datenbindung erstellen auswählen.
Weitere Informationen finden Sie unter Weiterführende Themen: Konvertieren zwischen Datentypen.
Wie im Listenmodus.
So binden Sie Daten mithilfe des Eigenschaftenpanels
Wählen Sie im Panel Objekte und Zeitachsen das Objekt, das Sie anzeigen möchten oder an das Sie Daten binden möchten, oder wählen Sie ein Objekt an einer höheren Stelle der Objektstruktur aus, wie das übergeordnete Layoutpanel.
Hier setzen Sie den Datenkontext fest.
Klicken Sie im Eigenschaftenpanel neben der DataContext-Eigenschaft auf Erweiterte Eigenschaftenoptionen und anschließend auf Datenbindung.
Klicken Sie im Dialogfeld Datenbindung erstellen auf die Registerkarte Datenfeld.
Wählen Sie unter Datenquellen die Datenquelle, aus der Sie Daten binden möchten.
Klicken Sie auf OK, um das Dialogfeld Datenbindung erstellen zu schließen.
Sie können jetzt die Eigenschaften dieses Objekts oder eines untergeordneten Objekts an Datenelemente in der ausgewählten Datenquelle binden.
Wählen Sie das Objekt aus, in dem Sie Daten anzeigen oder an das Sie Daten binden möchten.
Suchen Sie im Eigenschaftenpanel die Eigenschaft, an die Sie Daten binden möchten. Vergewissern Sie sich, dass der Eigenschaftstyp mit dem Typ des Datenelements, das Sie binden möchten, kompatibel ist. Um beispielsweise an Datenelemente in einer Auflistung zu binden, wählen Sie die ItemsSource-Eigenschaft aus (verfügbar in ItemsControl-Objekten wie ListBox, DataGrid, TreeView, ComboBox usw.). Um an ein Datenelement zu binden, das eine Zeichenfolge oder eine Zahl ist, wählen Sie eine Zeichenfolgeneigenschaft aus.
Klicken Sie neben der Eigenschaft auf Erweiterte Eigenschaftenoptionen und anschließend auf Datenbindung.
Klicken Sie im Dialogfeld Datenbindung erstellen auf die Registerkarte Expliziter Datenkontext.
Wählen Sie unter Felder das Datenelement aus, an das Sie die Eigenschaft binden möchten.
Tipp: Es werden nur kompatible Datenelemente angezeigt. Um alle Elemente anzuzeigen, wählen Sie in der Dropdownliste AnzeigenAlle Eigenschaften.
Legen Sie optional weitere Felder im Dialogfeld Datenbindung erstellen fest. Sie müssen beispielsweise eventuell einen Wertkonverter auswählen, wenn der Datentyp nicht zum Eigenschaftentyp passt. Expression Blend versucht, Daten zu konvertieren, aber wenn keine Konvertierung durchgeführt werden kann, werden die Daten nicht angezeigt. In diesem Fall müssen Sie einen Wertkonverter erstellen und ihn im Dialogfeld Datenbindung erstellen auswählen.
Weitere Informationen finden Sie unter Weiterführende Themen: Konvertieren zwischen Datentypen.
Klicken Sie auf OK, um das Dialogfeld Datenbindung erstellen zu schließen.
Wenn Sie Beispieldaten verwenden, werden die Daten auf der Zeichenfläche angezeigt. Wenn Sie Livedaten verwenden, drücken Sie F5, um die Daten anzuzeigen.
Tipp: Sie können dieselben Daten an mehr als ein Objekt binden. Sie können auch ein Master-Details-Design erstellen, wo ein Objekt aktualisiert wird, um die Details eines auf einer Liste ausgewählten Elements anzuzeigen.
Weitere Informationen finden Sie unter Erstellen einer Master-Details-Datenbindung.
Siehe auch
Aufgaben
Wechseln zwischen Beispieldaten und Livedaten
Erstellen einer Master-Details-Datenbindung