Binding Klasa

Definicja

Zapewnia wysoki poziom dostępu do definicji powiązania, który łączy właściwości obiektów docelowych powiązań (zazwyczaj elementy WPF) i wszystkie źródła danych (na przykład bazy danych, pliku XML lub dowolnego obiektu, który zawiera dane).Provides high-level access to the definition of a binding, which connects the properties of binding target objects (typically, WPF elements), and any data source (for example, a database, an XML file, or any object that contains data).

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
Dziedziczenie

Uwagi

Powiązanie danych Windows Presentation Foundation (WPF) zapewnia prosty i spójny sposób, w jaki aplikacje mogą być obecne i współpracujące z danymi.Windows Presentation Foundation (WPF) data binding provides a simple and consistent way for applications to present and interact with data. Powiązanie danych umożliwia synchronizowanie wartości właściwości dwóch różnych obiektów.Data binding enables you to synchronize the values of the properties of two different objects.

Aby ustanowić powiązanie, użyj Binding klasy lub jednej z innych klas, które dziedziczą BindingBase .To establish a binding, use the Binding class or one of the other classes that inherit BindingBase. Niezależnie od tego, który obiekt jest powiązany, i istoty źródła danych, każde powiązanie następuje po modelu zilustrowanym na poniższej ilustracji.Regardless of what object you are binding and the nature of your data source, each binding follows the model illustrated by the following figure.

Podstawowy diagram powiązań danychBasic data binding diagram

Na rysunku przedstawiono następujące podstawowe koncepcje dotyczące powiązań danych WPF.The figure demonstrates the following fundamental WPF data binding concepts.

  • Każde powiązanie zwykle zawiera te cztery składniki: obiekt docelowy powiązania, właściwość docelowa, Źródło powiązania i a Path do wartości w źródle powiązania do użycia.Each binding typically has these four components: a binding target object, a target property, a binding source, and a Path to the value in the binding source to use. Na przykład jeśli chcesz powiązać zawartość elementu z TextBox właściwością nazwa obiektu Employee, obiektem docelowym jest TextBox , właściwość target jest Text właściwością, wartość, która ma zostać użyta, jest nazwą, a obiektem źródłowym jest obiekt Employee.For example, if you want to bind the content of a TextBox to the Name property of an Employee object, your target object is the TextBox, the target property is the Text property, the value to use is Name, and the source object is the Employee object.

  • Właściwość Target musi być właściwością zależności.The target property must be a dependency property. Oznacza to również, że nie można powiązać pola.This also means that you cannot bind a field. Większość właściwości UIElement obiektów to właściwości zależności i większość właściwości zależności, z wyjątkiem tych, które domyślnie obsługują powiązanie danych.Most properties of UIElement objects are dependency properties and most dependency properties, except read-only ones, support data binding by default. (Tylko DependencyObject typy mogą definiować właściwości zależności i wszystkie UIElement obiekty pochodne od DependencyObject .)(Only DependencyObject types can define dependency properties and all UIElement objects derive from DependencyObject.)

  • Chociaż nie jest określony na rysunku, należy zauważyć, że obiekt źródłowy powiązania nie jest ograniczony do niestandardowego obiektu CLR.Although not specified in the figure, it should be noted that the binding source object is not restricted to being a custom CLR object. Powiązanie danych WPF obsługuje dane w postaci obiektów CLR i XML.WPF data binding supports data in the form of CLR objects and XML. Aby udostępnić przykłady, Źródło powiązania może być UIElement obiektem dowolnego elementu listy, obiektem CLR skojarzonym z danymi ADO.NET lub usługami sieci Web lub elementem XmlNode zawierającym dane XML.To provide some examples, your binding source may be a UIElement, any list object, a CLR object that is associated with ADO.NET data or Web Services, or an XmlNode that contains your XML data.

Użyj Mode właściwości, aby określić kierunek przepływu danych.Use the Mode property to specify the direction of the data flow. Aby wykrywać zmiany źródła w ramach powiązań jednokierunkowych lub dwukierunkowych, Źródło musi zaimplementować odpowiedni mechanizm powiadamiania o zmianach właściwości, taki jak INotifyPropertyChanged .To detect source changes in one-way or two-way bindings, the source must implement a suitable property change notification mechanism such as INotifyPropertyChanged. Aby zapoznać się z przykładem, zobacz How to: Implementuj powiadomienie o zmianie właściwości.For an example, see How to: Implement Property Change Notification. UpdateSourceTriggerWłaściwość określa chronometraż aktualizacji źródła.The UpdateSourceTrigger property specifies the timing of source updates. Aby uzyskać więcej informacji, zobacz "podstawowe pojęcia dotyczące powiązań danych" w temacie powiązanie danych — omówienie.For more information, see "Basic Data Binding Concepts" in Data Binding Overview.

Użycie atrybutu języka XAMLXAML Attribute Usage

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

Wartości XAMLXAML Values

oświadczeńdeclaration
Zero lub więcej klauzule przypisania atrybutu oddzielone przecinkami (,).Zero or more attribute-assignment clauses separated by commas (,). Aby uzyskać więcej informacji, zobacz powiązanie znaczników rozszerzenia lub deklaracji powiązań.For more information, see Binding Markup Extension or Binding Declarations Overview.

Konstruktory

Binding()

Inicjuje nowe wystąpienie klasy Binding.Initializes a new instance of the Binding class.

Binding(String)

Inicjuje nowe wystąpienie Binding klasy z początkową ścieżką.Initializes a new instance of the Binding class with an initial path.

Pola

DoNothing

Używane jako wartość zwracana do nakazuje aparatowi powiązania, aby nie wykonywał żadnej akcji.Used as a returned value to instruct the binding engine not to perform any action.

IndexerName

Używane jako PropertyName PropertyChangedEventArgs do wskazywania, że Właściwość indeksatora została zmieniona.Used as the PropertyName of PropertyChangedEventArgs to indicate that an indexer property has changed.

SourceUpdatedEvent

Identyfikuje SourceUpdated dołączone zdarzenie.Identifies the SourceUpdated attached event.

TargetUpdatedEvent

Identyfikuje TargetUpdated dołączone zdarzenie.Identifies the TargetUpdated attached event.

XmlNamespaceManagerProperty

Identyfikuje XmlNamespaceManager załączoną właściwość.Identifies the XmlNamespaceManager attached property.

Właściwości

AsyncState

Pobiera lub ustawia dane nieprzezroczyste przesyłane do asynchronicznego dyspozytora danych.Gets or sets opaque data passed to the asynchronous data dispatcher.

BindingGroupName

Pobiera lub ustawia nazwę, BindingGroup do której należy to powiązanie.Gets or sets the name of the BindingGroup to which this binding belongs.

(Odziedziczone po BindingBase)
BindsDirectlyToSource

Pobiera lub ustawia wartość wskazującą, czy należy oszacować Path względem elementu danych czy DataSourceProvider obiektu.Gets or sets a value that indicates whether to evaluate the Path relative to the data item or the DataSourceProvider object.

Converter

Pobiera lub ustawia konwerter do użycia.Gets or sets the converter to use.

ConverterCulture

Pobiera lub ustawia kulturę, w której ma zostać obliczony konwerter.Gets or sets the culture in which to evaluate the converter.

ConverterParameter

Pobiera lub ustawia parametr, który ma zostać przekazany do Converter .Gets or sets the parameter to pass to the Converter.

Delay

Pobiera lub ustawia czas oczekiwania (w milisekundach) przed zaktualizowaniem źródła powiązania po zmianie wartości docelowej.Gets or sets the amount of time, in milliseconds, to wait before updating the binding source after the value on the target changes.

(Odziedziczone po BindingBase)
ElementName

Pobiera lub ustawia nazwę elementu, który ma być używany jako obiekt źródłowy powiązania.Gets or sets the name of the element to use as the binding source object.

FallbackValue

Pobiera lub ustawia wartość, która ma być używana, gdy powiązanie nie może zwrócić wartości.Gets or sets the value to use when the binding is unable to return a value.

(Odziedziczone po BindingBase)
IsAsync

Pobiera lub ustawia wartość wskazującą, czy Binding powinny pobierać i ustawiać wartości asynchroniczne.Gets or sets a value that indicates whether the Binding should get and set values asynchronously.

Mode

Pobiera lub ustawia wartość wskazującą kierunek przepływu danych w powiązaniu.Gets or sets a value that indicates the direction of the data flow in the binding.

NotifyOnSourceUpdated

Pobiera lub ustawia wartość wskazującą, czy zdarzenie ma zostać zgłoszone SourceUpdated po przeniesieniu wartości z celu powiązania do źródła powiązania.Gets or sets a value that indicates whether to raise the SourceUpdated event when a value is transferred from the binding target to the binding source.

NotifyOnTargetUpdated

Pobiera lub ustawia wartość wskazującą, czy zdarzenie ma zostać zgłoszone TargetUpdated po przeniesieniu wartości ze źródła powiązania do celu powiązania.Gets or sets a value that indicates whether to raise the TargetUpdated event when a value is transferred from the binding source to the binding target.

NotifyOnValidationError

Pobiera lub ustawia wartość wskazującą, czy zdarzenie dołączone ma zostać zgłoszone Error w obiekcie powiązanym.Gets or sets a value that indicates whether to raise the Error attached event on the bound object.

Path

Pobiera lub ustawia ścieżkę do właściwości źródła powiązania.Gets or sets the path to the binding source property.

RelativeSource

Pobiera lub ustawia źródło powiązania, określając jego lokalizację względem pozycji docelowej powiązania.Gets or sets the binding source by specifying its location relative to the position of the binding target.

Source

Pobiera lub ustawia obiekt, który będzie używany jako źródło powiązania.Gets or sets the object to use as the binding source.

StringFormat

Pobiera lub ustawia ciąg określający sposób formatowania powiązania w przypadku wyświetlenia wartości powiązanej jako ciągu.Gets or sets a string that specifies how to format the binding if it displays the bound value as a string.

(Odziedziczone po BindingBase)
TargetNullValue

Pobiera lub ustawia wartość używaną w elemencie docelowym, gdy wartość źródłowa to null .Gets or sets the value that is used in the target when the value of the source is null.

(Odziedziczone po BindingBase)
UpdateSourceExceptionFilter

Pobiera lub ustawia procedurę obsługi, której można użyć, aby zapewnić niestandardową logikę obsługi wyjątków, które napotyka aparat powiązań podczas aktualizacji wartości źródłowej powiązania.Gets or sets a handler you can use to provide custom logic for handling exceptions that the binding engine encounters during the update of the binding source value. Ma to zastosowanie tylko wtedy, gdy skojarzono ExceptionValidationRule z powiązaniem.This is only applicable if you have associated an ExceptionValidationRule with your binding.

UpdateSourceTrigger

Pobiera lub ustawia wartość określającą chronometraż aktualizacji źródła powiązań.Gets or sets a value that determines the timing of binding source updates.

ValidatesOnDataErrors

Pobiera lub ustawia wartość wskazującą, czy ma zostać uwzględniony DataErrorValidationRule .Gets or sets a value that indicates whether to include the DataErrorValidationRule.

ValidatesOnExceptions

Pobiera lub ustawia wartość wskazującą, czy ma zostać uwzględniony ExceptionValidationRule .Gets or sets a value that indicates whether to include the ExceptionValidationRule.

ValidatesOnNotifyDataErrors

Pobiera lub ustawia wartość wskazującą, czy ma zostać uwzględniony NotifyDataErrorValidationRule .Gets or sets a value that indicates whether to include the NotifyDataErrorValidationRule.

ValidationRules

Pobiera kolekcję reguł, które sprawdzają poprawność danych wejściowych użytkownika.Gets a collection of rules that check the validity of the user input.

XPath

Pobiera lub ustawia XPath zapytanie zwracające wartość w źródle powiązania XML, które ma zostać użyte.Gets or sets an XPath query that returns the value on the XML binding source to use.

Właściwości dołączone

XmlNamespaceManager

Pobiera lub ustawia XmlNamespaceManager używany do wykonywania zapytań obsługujących przestrzeń nazw XPath w powiązaniach XML.Gets or sets the XmlNamespaceManager used to perform namespace-aware XPath queries in XML bindings.

Metody

AddSourceUpdatedHandler(DependencyObject, EventHandler<DataTransferEventArgs>)

Dodaje procedurę obsługi dla SourceUpdated dołączonego zdarzenia.Adds a handler for the SourceUpdated attached event.

AddTargetUpdatedHandler(DependencyObject, EventHandler<DataTransferEventArgs>)

Dodaje procedurę obsługi dla TargetUpdated dołączonego zdarzenia.Adds a handler for the TargetUpdated attached event.

Equals(Object)

Określa, czy dany obiekt jest taki sam, jak bieżący obiekt.Determines whether the specified object is equal to the current object.

(Odziedziczone po Object)
GetHashCode()

Służy jako domyślna funkcja skrótu.Serves as the default hash function.

(Odziedziczone po Object)
GetType()

Pobiera Type bieżące wystąpienie.Gets the Type of the current instance.

(Odziedziczone po Object)
GetXmlNamespaceManager(DependencyObject)

Zwraca obiekt Menedżera przestrzeni nazw XML używany przez powiązanie dołączone do określonego obiektu.Returns an XML namespace manager object used by the binding attached to the specified object.

MemberwiseClone()

Tworzy skróconą kopię bieżącego elementu Object .Creates a shallow copy of the current Object.

(Odziedziczone po Object)
ProvideValue(IServiceProvider)

Zwraca obiekt, który powinien być ustawiony we właściwości, w której są stosowane to powiązanie i rozszerzenie.Returns an object that should be set on the property where this binding and extension are applied.

(Odziedziczone po BindingBase)
RemoveSourceUpdatedHandler(DependencyObject, EventHandler<DataTransferEventArgs>)

Usuwa procedurę obsługi dla SourceUpdated dołączonego zdarzenia.Removes a handler for the SourceUpdated attached event.

RemoveTargetUpdatedHandler(DependencyObject, EventHandler<DataTransferEventArgs>)

Usuwa procedurę obsługi dla TargetUpdated dołączonego zdarzenia.Removes a handler for the TargetUpdated attached event.

SetXmlNamespaceManager(DependencyObject, XmlNamespaceManager)

Ustawia obiekt Menedżera przestrzeni nazw używany przez powiązanie dołączone do podanego elementu.Sets a namespace manager object used by the binding attached to the provided element.

ShouldSerializeFallbackValue()

Zwraca wartość wskazującą, czy procesy serializacji powinny serializować wartość efektywną FallbackValue właściwości w wystąpieniach tej klasy.Returns a value that indicates whether serialization processes should serialize the effective value of the FallbackValue property on instances of this class.

(Odziedziczone po BindingBase)
ShouldSerializePath()

Wskazuje, czy Path Właściwość powinna być utrwalona.Indicates whether the Path property should be persisted.

ShouldSerializeSource()

Wskazuje, czy Source Właściwość powinna być utrwalona.Indicates whether the Source property should be persisted.

ShouldSerializeTargetNullValue()

Zwraca wartość wskazującą, czy TargetNullValue Właściwość powinna być serializowana.Returns a value that indicates whether the TargetNullValue property should be serialized.

(Odziedziczone po BindingBase)
ShouldSerializeValidationRules()

Wskazuje, czy ValidationRules Właściwość powinna być utrwalona.Indicates whether the ValidationRules property should be persisted.

ToString()

Zwraca ciąg reprezentujący bieżący obiekt.Returns a string that represents the current object.

(Odziedziczone po Object)

Zdarzenia dołączone

SourceUpdated

Występuje, gdy wartość zostanie przetransferowana z celu powiązania do źródła powiązania, ale tylko dla powiązań z NotifyOnSourceUpdated wartością ustawioną na true .Occurs when a value is transferred from the binding target to the binding source, but only for bindings with the NotifyOnSourceUpdated value set to true.

TargetUpdated

Występuje, gdy wartość zostanie przetransferowana z źródła powiązania do elementu docelowego powiązania, ale tylko dla powiązań z NotifyOnTargetUpdated wartością ustawioną na true .Occurs when a value is transferred from the binding source to the binding target, but only for bindings with the NotifyOnTargetUpdated value set to true.

Dotyczy

Zobacz też