Binding Klasse

Definition

Bietet Zugriff auf hoher Ebene auf die Definition einer Bindung, die die Eigenschaften von Bindungszielobjekten (üblicherweise WPF-Elemente) und eine Datenquelle (etwa eine Datenbank, eine XML-Datei oder ein beliebiges Objekt mit Daten) verbindet.

public ref class Binding : System::Windows::Data::BindingBase
public class Binding : System.Windows.Data.BindingBase
type Binding = class
    inherit BindingBase
Public Class Binding
Inherits BindingBase
Vererbung

Hinweise

Die Datenbindung in Windows Presentation Foundation (WPF) bietet für Anwendungen eine einfache und konsistente Möglichkeit, Daten darzustellen und mit ihnen zu interagieren. Mit der Datenbindung können Sie die Werte der Eigenschaften von zwei verschiedenen Objekten synchronisieren.

Verwenden Sie zum Einrichten einer Bindung die Binding -Klasse oder eine der anderen Klassen, die erben BindingBase. Unabhängig davon, welches Objekt Sie binden, und der Art Ihrer Datenquelle folgt jede Bindung dem Modell, das in der folgenden Abbildung veranschaulicht wird.

Grundlegendes Datenbindungsdiagramm

Die Abbildung veranschaulicht die folgenden grundlegenden WPF-Datenbindungskonzepte.

  • Jede Bindung verfügt in der Regel über diese vier Komponenten: ein Bindungszielobjekt, eine Zieleigenschaft, eine Bindungsquelle und eine Path für den Wert in der zu verwendenden Bindungsquelle. Wenn Sie beispielsweise den Inhalt eines TextBox an die Name-Eigenschaft eines Employee-Objekts binden möchten, ist Ihr Zielobjekt das TextBox, die Zieleigenschaft ist die Text Eigenschaft, der zu verwendende Wert ist Name und das Quellobjekt das Employee-Objekt.

  • Die Zieleigenschaft muss eine Abhängigkeitseigenschaft sein. Dies bedeutet auch, dass Sie kein Feld binden können. Die meisten Eigenschaften von UIElement Objekten sind Abhängigkeitseigenschaften, und die meisten Abhängigkeitseigenschaften, mit Ausnahme der schreibgeschützten Eigenschaften, unterstützen standardmäßig die Datenbindung. (Nur DependencyObject Typen können Abhängigkeitseigenschaften definieren, und alle UIElement Objekte werden von abgeleitet DependencyObject.)

  • Obwohl in der Abbildung nicht angegeben, ist zu beachten, dass das Bindungsquellobjekt nicht darauf beschränkt ist, ein benutzerdefiniertes CLR-Objekt zu sein. Die WPF-Datenbindung unterstützt Daten in Form von CLR-Objekten und XML. Um einige Beispiele bereitzustellen, kann Ihre Bindungsquelle ein beliebiges UIElementListenobjekt, ein CLR-Objekt sein, das ADO.NET Daten oder Webdiensten zugeordnet ist, oder ein XmlNode, der Ihre XML-Daten enthält.

Verwenden Sie die Mode -Eigenschaft, um die Richtung des Datenflusses anzugeben. Um Quelländerungen in uni- oder bidirektionalen Bindungen zu erkennen, muss die Quelle einen geeigneten Benachrichtigungsmechanismus INotifyPropertyChangedfür Eigenschaftsänderungen wie implementieren. Ein Beispiel finden Sie unter Vorgehensweise: Implementieren von Benachrichtigungen zu Eigenschaftenänderungen. Die UpdateSourceTrigger -Eigenschaft gibt das Timing von Quellupdates an. Weitere Informationen finden Sie unter Grundlegende Datenbindungskonzepte in der Datenbindungsübersicht.

Verwendung von XAML-Attributen

<object property="{Binding  declaration}"/>  

XAML-Werte

declaration
Null oder mehr Attributzuweisungsklauseln getrennt durch Kommas (,). Weitere Informationen finden Sie unter Binding Markup Extension oder Binding Declarations Overview.

Konstruktoren

Binding()

Initialisiert eine neue Instanz der Binding-Klasse.

Binding(String)

Initialisiert eine neue Instanz der Binding-Klasse mit einem Anfangspfad.

Felder

DoNothing

Wird als ein zurückgegebener Wert verwendet, der die Bindungs-Engine anweist, keine Aktion auszuführen.

IndexerName

Wird als PropertyName von PropertyChangedEventArgs verwendet, um anzugeben, dass sich eine Indexereigenschaft geändert hat.

SourceUpdatedEvent

Bezeichnet das angefügte SourceUpdated-Ereignis.

TargetUpdatedEvent

Bezeichnet das angefügte TargetUpdated-Ereignis.

XmlNamespaceManagerProperty

Bezeichnet die angefügte XmlNamespaceManager-Eigenschaft.

Eigenschaften

AsyncState

Ruft opake Daten ab, die an den asynchronen Datenverteiler übergeben werden, oder legt diese fest.

BindingGroupName

Ruft den Namen der BindingGroup ab, zu der diese Bindung gehört, oder legt diesen fest.

(Geerbt von BindingBase)
BindsDirectlyToSource

Ruft einen Wert ab oder legt diesen fest, der anzeigt, ob der Path relativ zum Datenelement oder zum DataSourceProvider-Objekt ausgewertet werden soll.

Converter

Ruft den zu verwendenden Konverter ab oder legt diesen fest.

ConverterCulture

Dient zum Abrufen oder Festlegen der Kultur, in der der Konverter ausgewertet werden soll.

ConverterParameter

Ruft den Parameter ab, der an den Converter übergeben wird, oder legt diesen fest.

Delay

Ruft die Zeitdauer in Millisekunden ab, die gewartet wird, ehe die Bindungsquelle aktualisiert wird, nachdem sich der Wert im Ziel geändert hat, oder legt diese fest.

(Geerbt von BindingBase)
ElementName

Ruft den Namen des Elements ab, das als Bindungsquellenobjekt verwendet werden soll, oder legt diesen fest.

FallbackValue

Ruft den Wert ab, der verwendet werden soll, wenn die Bindung keinen Wert zurückgeben kann, oder legt diesen fest.

(Geerbt von BindingBase)
IsAsync

Ruft einen Wert ab, der angibt, ob die Binding Werte asynchron abrufen und setzen soll.

Mode

Ruft einen Wert ab, der die Richtung des Datenflusses in der Bindung angibt, oder legt diesen Wert fest.

NotifyOnSourceUpdated

Ruft einen Wert ab, der angibt, ob das SourceUpdated-Ereignis ausgelöst werden soll, wenn ein Wert vom Bindungsziel zur Bindungsquelle übertragen wird, oder legt diesen Wert fest.

NotifyOnTargetUpdated

Dient zum Abrufen oder Festlegen eines Werts, der angibt, ob das TargetUpdated-Ereignis ausgelöst werden soll, wenn ein Wert von der Bindungsquelle zum Bindungsziel übertragen wird.

NotifyOnValidationError

Ruft einen Wert ab, der angibt, ob das angefügte Error-Ereignis für das gebundene Objekt ausgelöst werden soll, oder legt diesen fest.

Path

Ruft den Pfad zur Bindungsquelleneigenschaft fest ab oder legt diesen fest.

RelativeSource

Ruft die Bindungsquelle ab, indem deren Speicherort relativ zur Position des Bindungsziels angegeben wird, oder legt diese fest.

Source

Ruft das Objekt ab oder legt es fest, das als Bindungsquelle verwendet werden soll.

StringFormat

Ruft eine Zeichenfolge ab, die angibt, wie die Bindung formatiert werden soll, wenn diese den gebundenen Wert als Zeichenfolge anzeigt, oder legt diese fest.

(Geerbt von BindingBase)
TargetNullValue

Ruft den Wert ab, der im Ziel verwendet wird, wenn der Wert der Quelle null ist, oder legt diesen fest.

(Geerbt von BindingBase)
UpdateSourceExceptionFilter

Ruft einen Handler ab oder legt ihn fest, mit dem Sie benutzerdefinierte Logik für das Behandeln von Ausnahmen bereitstellen können, die beim Aktualisieren des Bindungsquellwerts durch die Bindungs-Engine auftreten. Dies gilt nur, wenn Sie Ihrer Bindung eine ExceptionValidationRule zugeordnet haben.

UpdateSourceTrigger

Ruft einen Wert ab, der die zeitliche Steuerung der Updates für die Bindungsquelle bestimmt, oder legt diesen fest.

ValidatesOnDataErrors

Ruft einen Wert ab, der angibt, ob die DataErrorValidationRule eingeschlossen werden soll, oder legt diesen fest.

ValidatesOnExceptions

Ruft einen Wert ab, der angibt, ob die ExceptionValidationRule eingeschlossen werden soll, oder legt diesen fest.

ValidatesOnNotifyDataErrors

Ruft einen Wert ab, der angibt, ob die NotifyDataErrorValidationRule eingeschlossen werden soll, oder legt diesen fest.

ValidationRules

Ruft eine Auflistung von Regeln ab, durch die die Benutzereingabe auf Gültigkeit überprüft wird.

XPath

Ruft eine Abfrage ab XPath , die den Wert für die zu verwendende XML-Bindungsquelle zurückgibt, oder legt diese fest.

Angefügte Eigenschaften

XmlNamespaceManager

Ruft das XmlNamespaceManager-Objekt ab, das zum Ausführen von namespacekompatiblen XPath-Abfragen in XML-Bindungen verwendet wird, oder legt es fest.

Methoden

AddSourceUpdatedHandler(DependencyObject, EventHandler<DataTransferEventArgs>)

Fügt einen Handler für das angefügte SourceUpdated-Ereignis hinzu.

AddTargetUpdatedHandler(DependencyObject, EventHandler<DataTransferEventArgs>)

Fügt einen Handler für das angefügte TargetUpdated-Ereignis hinzu.

Equals(Object)

Bestimmt, ob das angegebene Objekt gleich dem aktuellen Objekt ist.

(Geerbt von Object)
GetHashCode()

Fungiert als Standardhashfunktion.

(Geerbt von Object)
GetType()

Ruft den Type der aktuellen Instanz ab.

(Geerbt von Object)
GetXmlNamespaceManager(DependencyObject)

Gibt ein XML-Namespace-Manager-Objekt zurück, das von der Bindung verwendet wird, die dem angegebenen Objekt angefügt ist.

MemberwiseClone()

Erstellt eine flache Kopie des aktuellen Object.

(Geerbt von Object)
ProvideValue(IServiceProvider)

Gibt ein Objekt zurück, das auf die Eigenschaft festgelegt werden soll, auf die diese Bindung und Erweiterung angewendet werden.

(Geerbt von BindingBase)
RemoveSourceUpdatedHandler(DependencyObject, EventHandler<DataTransferEventArgs>)

Entfernt einen Handler für das angefügte SourceUpdated-Ereignis.

RemoveTargetUpdatedHandler(DependencyObject, EventHandler<DataTransferEventArgs>)

Entfernt einen Handler für das angefügte TargetUpdated-Ereignis.

SetXmlNamespaceManager(DependencyObject, XmlNamespaceManager)

Legt ein Namespace-Manager-Objekt fest, das von der an das bereitgestellte Element angefügten Bindung verwendet wird.

ShouldSerializeFallbackValue()

Gibt einen Wert zurück, mit dem angegeben wird, ob Serialisierungsprozesse den tatsächlichen Wert der FallbackValue-Eigenschaft für Instanzen dieser Klasse serialisieren sollen.

(Geerbt von BindingBase)
ShouldSerializePath()

Gibt an, ob die Path-Eigenschaft beibehalten werden soll.

ShouldSerializeSource()

Gibt an, ob die Source-Eigenschaft beibehalten werden soll.

ShouldSerializeTargetNullValue()

Gibt einen Wert zurück, der angibt, ob die TargetNullValue-Eigenschaft serialisiert werden soll.

(Geerbt von BindingBase)
ShouldSerializeValidationRules()

Gibt an, ob die ValidationRules-Eigenschaft beibehalten werden soll.

ToString()

Gibt eine Zeichenfolge zurück, die das aktuelle Objekt darstellt.

(Geerbt von Object)

Angefügte Ereignisse

SourceUpdated

Tritt auf, wenn ein Wert vom Bindungsziel zur Bindungsquelle übertragen wird. Dies gilt jedoch nur für Bindungen, deren NotifyOnSourceUpdated-Wert auf true festgelegt ist.

TargetUpdated

Tritt auf, wenn ein Wert vom Bindungsziel zur Bindungsquelle übertragen wird. Dies gilt jedoch nur für Bindungen, deren NotifyOnTargetUpdated-Wert auf true festgelegt ist.

Gilt für:

Weitere Informationen