Galileo Computing < openbook > Galileo Computing - Professionelle Bücher. Auch für Einsteiger.
Professionelle Bücher. Auch für Einsteiger.

Inhaltsverzeichnis
Vorwort zur 5. Auflage
1 Allgemeine Einführung in .NET
2 Grundlagen der Sprache C#
3 Klassendesign
4 Vererbung, Polymorphie und Interfaces
5 Delegates und Ereignisse
6 Weitere .NET-Datentypen
7 Weitere Möglichkeiten von C#
8 Auflistungsklassen (Collections)
9 Fehlerbehandlung und Debugging
10 LINQ to Objects
11 Multithreading und die Task Parallel Library (TPL)
12 Arbeiten mit Dateien und Streams
13 Binäre Serialisierung
14 Einige wichtige .NET-Klassen
15 Projektmanagement und Visual Studio 2010
16 XML
17 WPF – Die Grundlagen
18 WPF-Containerelemente
19 WPF-Steuerelemente
20 Konzepte der WPF
21 Datenbindung
22 2D-Grafik
23 ADO.NET – verbindungsorientierte Objekte
24 ADO.NET – Das Command-Objekt
25 ADO.NET – Der SqlDataAdapter
26 ADO.NET – Daten im lokalen Speicher
27 ADO.NET – Aktualisieren der Datenbank
28 Stark typisierte DataSets
29 LINQ to SQL
30 Weitergabe von Anwendungen
Stichwort

Buch bestellen
Ihre Meinung?

Spacer
<< zurück
Visual C# 2010 von Andreas Kühnel
Das umfassende Handbuch
Buch: Visual C# 2010

Visual C# 2010
geb., mit DVD
1295 S., 49,90 Euro
Rheinwerk Computing
ISBN 978-3-8362-1552-7
Pfeil 21 Datenbindung
Pfeil 21.1 Wichtige Klassen
Pfeil 21.1.1 Die Klasse »Binding«
Pfeil 21.1.2 Die Klasse »DataContext«
Pfeil 21.2 Einfache Datenbindung
Pfeil 21.2.1 Bindung mit Code erzeugen
Pfeil 21.2.2 Bindungsrichtung
Pfeil 21.2.3 Änderung der Datenquelle
Pfeil 21.2.4 Weitere Möglichkeiten im Zusammenhang mit der Datenbindung
Pfeil 21.2.5 Die Ereignisse »SourceUpdated« und »TargetUpdated«
Pfeil 21.3 Verschiedene Datenbindungsquellen
Pfeil 21.3.1 Bindung an einfache Objekte
Pfeil 21.3.2 Auflistungen binden
Pfeil 21.4 DataTemplates festlegen
Pfeil 21.4.1 Trigger
Pfeil 21.5 Daten konvertieren
Pfeil 21.5.1 Beispielprogramm
Pfeil 21.5.2 Mehrfachbindungen und »Converter«-Klassen
Pfeil 21.6 Die Klasse »ObjectDataProvider«
Pfeil 21.7 WPF und ADO.NET
Pfeil 21.7.1 Ausgabe in einer ListBox
Pfeil 21.7.2 Eine Tabelle im DataGrid-Steuerelement
Pfeil 21.7.3 WPF und LINQ to SQL

21 Datenbindung

In WinForms konnten Sie recht einfach eine Datenbindung realisieren. Sie waren dabei aber auf bestimmte Controls beschränkt, die über entsprechende Eigenschaften verfügen. Die Datenbindung von WPF bietet viel flexiblere Möglichkeiten, denn alle Eigenschaften – genau genommen alle abhängigen Eigenschaften – sind datenbindungsfähig.

Die Datenquellen sind ausgesprochen vielfältig:

  • Es kann sich bei der Datenquelle um die Eigenschaft einer anderen Komponente handeln.
  • Die Daten können aus einer XML-Datei bezogen werden.
  • Daten können einer Collection entnommen werden.
  • Dass Datenbanken ebenfalls Datenquellen darstellen, versteht sich fast wie von selbst.

Eine andere Voraussetzung muss aber erfüllt sein: Die Datenbindung funktioniert nur zusammen mit Dependency Propertys. Eine Datenquelle kann also nur an eine Dependency Property gebunden werden. Erfreulicherweise können die meisten Eigenschaften diese Bedingung erfüllen.


Galileo Computing - Zum Seitenanfang

21.1 Wichtige Klassen Zur nächsten ÜberschriftZur vorigen Überschrift

Bei der WPF-Datenbindung spielen zwei Klassen eine besondere Rolle:

  • Binding
  • DataContext

Ehe wir uns mit den ersten Beispielen beschäftigen, möchte ich Ihnen diese Klassen kurz vorstellen.


Galileo Computing - Zum Seitenanfang

21.1.1 Die Klasse »Binding« Zur nächsten ÜberschriftZur vorigen Überschrift

Ein Binding-Objekt beschreibt die Bindung zwischen einer Datenquelle und einer bindenden Komponente. Meistens wird die Bindung im XAML-Code beschrieben, aber selbstverständlich kann die Bindung auch im C#-Code erfolgen. Die wichtigsten Eigenschaften des Binding-Objekts können Sie Tabelle 21.1 entnehmen. Viele der aufgeführten Eigenschaften werden Sie im Verlauf des Kapitels noch innerhalb der Beispielprogramme wiederfinden.


Tabelle 21.1 Die Eigenschaften eines »Binding«-Objekts

Eigenschaft Beschreibung
Converter

Diese Eigenschaft gibt an, welches Objekt als Konverter zwischen zwei Datentypen dienen soll.

ElementName

Diese Eigenschaft gibt den Bezeichner des Elements an, das als Datenquelle dient.

Mode

Legt den Bindungsmodus fest. Damit lässt sich die Verhaltensweise einer eventuellen gegenseitigen Aktualisierung zwischen Datenquelle und Datenziel steuern.

NotifyOnSourceUpdate /
NotifyOnTargetUpdate

Mit diesen Eigenschaften werden Ereignisse ermöglicht, die beim Aktualisieren der Datenquelle oder des Datenziels auftreten.

Path

Mit Path wird die Eigenschaft festgelegt, an die Daten gebunden werden sollen.

RelativeSource

Diese Eigenschaft legt die Datenquelle fest, allerdings relativ zum Datenziel.

UpdateSourceTrigger

Mit dieser Eigenschaft wird angegeben, wann die Datenquelle aktualisiert werden soll.



Galileo Computing - Zum Seitenanfang

21.1.2 Die Klasse »DataContext« topZur vorigen Überschrift

Die Klasse DataContext kann man sich als Bindeglied zwischen der eigentlichen Datenquelle und den bindenden Steuerelementen vorstellen. DataContext stellt die Daten bereit; das Steuerelement weiß aber noch nicht, welche es anzeigen soll.

Jedes von FrameworkElement abgeleitete Steuerelement verfügt über die Eigenschaft DataContext. Darüber wird die Datenquelle festgelegt, die bei Verwendung des Binding-Objekts verwendet werden soll. Sie können mit


textBox1.DataContext = datenquelle;

dem Steuerelement zwar seinen Datenkontext mitteilen, aber flexibel ist diese Lösung nicht. Besser, Sie weisen die Datenquelle an DataContext des übergeordneten Containers oder der Form zu. Davon profitieren alle enthaltenen Elemente, die dann ebenfalls das in DataContext angegebene Objekt als Quelle nutzen. Eine geschickte Zuweisung kann also von vielen Steuerelementen genutzt werden.

Um alle Steuerelemente eines Window am gleichen DataContext teilhaben zu lassen, weisen Sie die Daten dem DataContext des Window zu. Am geeignetsten ist dafür der Konstruktor:


public MainWindow() {
  this.dataContext = datenquelle;
}



Ihr Kommentar

Wie hat Ihnen das <openbook> gefallen? Wir freuen uns immer über Ihre freundlichen und kritischen Rückmeldungen. >> Zum Feedback-Formular
<< zurück
  Zum Katalog
Zum Katalog: Visual C# 2010

Visual C# 2010
Jetzt bestellen


 Ihre Meinung?
Wie hat Ihnen das <openbook> gefallen?
Ihre Meinung

 Buchempfehlungen
Zum Katalog: Professionell entwickeln mit Visual C# 2012






 Professionell
 entwickeln mit
 Visual C# 2012


Zum Katalog: Windows Presentation Foundation






 Windows Presentation
 Foundation


Zum Katalog: Schrödinger programmiert C++






 Schrödinger
 programmiert C++


Zum Katalog: C++ Handbuch






 C++ Handbuch


Zum Katalog: C/C++






 C/C++


 Shopping
Versandkostenfrei bestellen in Deutschland und Österreich
InfoInfo




Copyright © Rheinwerk Verlag GmbH 2010
Für Ihren privaten Gebrauch dürfen Sie die Online-Version natürlich ausdrucken. Ansonsten unterliegt das <openbook> denselben Bestimmungen, wie die gebundene Ausgabe: Das Werk einschließlich aller seiner Teile ist urheberrechtlich geschützt. Alle Rechte vorbehalten einschließlich der Vervielfältigung, Übersetzung, Mikroverfilmung sowie Einspeicherung und Verarbeitung in elektronischen Systemen.


[Rheinwerk Computing]

Rheinwerk Verlag GmbH, Rheinwerkallee 4, 53227 Bonn, Tel.: 0228.42150.0, Fax 0228.42150.77, service@rheinwerk-verlag.de