Binding Класс

Определение

Предоставляет высокоуровневый доступ к определению привязки, соединяющей свойства целевых объектов привязки (как правило, элементов WPF) и любой источник данных (например, базу данных, XML-файл или любой объект, который содержит данные).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
Наследование

Комментарии

Привязка данных Windows Presentation Foundation (WPF)Windows Presentation Foundation (WPF) предоставляет приложениям простой и последовательный способ представления данных и взаимодействия с ними.Windows Presentation Foundation (WPF)Windows Presentation Foundation (WPF) data binding provides a simple and consistent way for applications to present and interact with data. Привязка данных позволяет синхронизировать значения свойств двух различных объектов.Data binding enables you to synchronize the values of the properties of two different objects.

Чтобы установить привязку, используйте Binding класс или один из других классов, которые наследуют. BindingBaseTo establish a binding, use the Binding class or one of the other classes that inherit BindingBase. Независимо от объекта, который вы привязываете, и природы источника данных, каждая привязка соответствует модели, показанной на следующем рисунке.Regardless of what object you are binding and the nature of your data source, each binding follows the model illustrated by the following figure.

![Базовая диаграмма привязки данных] (~/add/media/databindingmostbasic.png "Базовая диаграмма привязки данных")Basic data binding diagram

На рисунке показаны следующие фундаментальные WPFWPF понятия привязки данных.The figure demonstrates the following fundamental WPFWPF data binding concepts.

  • Каждая привязка обычно содержит следующие четыре компонента: целевой объект привязки, целевое свойство, источник привязки и Path значение для использования в источнике привязки.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. Например, если требуется привязать содержимое TextBox к свойству Name объекта Employee, то целевой объект TextBoxбудет иметь значение, свойство Target — Text это свойство, используемое значение — имя, а исходный объект — сотрудник. объектами.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.

  • Целевое свойство должно быть свойством зависимостей.The target property must be a dependency property. Это также означает, что невозможно привязать поле.This also means that you cannot bind a field. Большинство свойств UIElement объектов являются свойствами зависимостей и большинством свойств зависимостей, кроме доступных только для чтения, поддерживают привязку данных по умолчанию.Most properties of UIElement objects are dependency properties and most dependency properties, except read-only ones, support data binding by default. (Только DependencyObject типы могут определять свойства зависимостей, а UIElement все объекты являются производными от DependencyObject.)(Only DependencyObject types can define dependency properties and all UIElement objects derive from DependencyObject.)

  • Несмотря на то что это не указано на рисунке, следует отметить, что источник привязки не обязан быть пользовательским объектом CLRCLR.Although not specified in the figure, it should be noted that the binding source object is not restricted to being a custom CLRCLR object. Привязка данных WPFWPF поддерживает данные в виде объектов CLRCLR и XMLXML.WPFWPF data binding supports data in the form of CLRCLR objects and XMLXML. Чтобы предоставить несколько примеров, источником привязки может UIElementбыть, любой объект списка CLRCLR , объект, связанный с ADO.NETADO.NET данными или веб-службами, или XmlNode, содержащий ваши XMLXML данные.To provide some examples, your binding source may be a UIElement, any list object, a CLRCLR object that is associated with ADO.NETADO.NET data or Web Services, or an XmlNode that contains your XMLXML data.

Mode Используйте свойство, чтобы указать направление потока данных.Use the Mode property to specify the direction of the data flow. Чтобы обнаружить изменения источника в односторонней или двухсторонней привязке, источник должен реализовать подходящий механизм уведомления об изменении свойств, например 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. Пример см. в статье Практическое руководство. Реализация уведомления обизменении свойства.For an example, see How to: Implement Property Change Notification. UpdateSourceTrigger Свойство задает время обновления источника.The UpdateSourceTrigger property specifies the timing of source updates. Дополнительные сведения см. в разделе "Основные понятия привязки данных" раздела Общие сведения о привязке данных.For more information, see "Basic Data Binding Concepts" in Data Binding Overview.

Использование атрибута XAMLXAML Attribute Usage

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

Значения XAMLXAML Values

declarationdeclaration
Ноль или несколько предложений атрибутов, разделенных запятыми (,).Zero or more attribute-assignment clauses separated by commas (,). Дополнительные сведения см. в разделе Привязка расширения разметки или объявлений привязки.For more information, see Binding Markup Extension or Binding Declarations Overview.

Конструкторы

Binding()

Инициализирует новый экземпляр класса Binding.Initializes a new instance of the Binding class.

Binding(String)

Инициализирует новый экземпляр класса Binding с начальным путем.Initializes a new instance of the Binding class with an initial path.

Поля

DoNothing

Используется как возвращаемое значение, чтобы указать, что механизму привязки не требуется выполнять никаких действий.Used as a returned value to instruct the binding engine not to perform any action.

IndexerName

Используется как PropertyName из PropertyChangedEventArgs, указывая, что свойство индексатора изменилось.Used as the PropertyName of PropertyChangedEventArgs to indicate that an indexer property has changed.

SourceUpdatedEvent

Идентифицирует присоединенное событие SourceUpdated.Identifies the SourceUpdated attached event.

TargetUpdatedEvent

Идентифицирует присоединенное событие TargetUpdated.Identifies the TargetUpdated attached event.

XmlNamespaceManagerProperty

Идентифицирует присоединенное свойство XmlNamespaceManager.Identifies the XmlNamespaceManager attached property.

Свойства

AsyncState

Получает или задает непрозрачные данные, передаваемые в диспетчер асинхронных данных.Gets or sets opaque data passed to the asynchronous data dispatcher.

BindingGroupName

Возвращает или задает имя группы BindingGroup, к которой принадлежит данная привязка.Gets or sets the name of the BindingGroup to which this binding belongs.

(Унаследовано от BindingBase)
BindsDirectlyToSource

Возвращает или задает значение, указывающее, следует ли вычислять Path относительно элемента данных или объекта DataSourceProvider.Gets or sets a value that indicates whether to evaluate the Path relative to the data item or the DataSourceProvider object.

Converter

Получает или задает используемый преобразователь.Gets or sets the converter to use.

ConverterCulture

Получает или задает язык и региональные параметры, в которых необходимо оценить преобразователь.Gets or sets the culture in which to evaluate the converter.

ConverterParameter

Возвращает или задает параметр, передаваемый Converter.Gets or sets the parameter to pass to the Converter.

Delay

Получает или задает время (в миллисекундах) ожидания перед обновлением источника привязки после изменения значения в целевом объекте.Gets or sets the amount of time, in milliseconds, to wait before updating the binding source after the value on the target changes.

(Унаследовано от BindingBase)
ElementName

Получает или задает имя элемента, который требуется использовать в качестве объекта источника привязки.Gets or sets the name of the element to use as the binding source object.

FallbackValue

Получает или задает значение, которое следует использовать, когда привязка не может вернуть значение.Gets or sets the value to use when the binding is unable to return a value.

(Унаследовано от BindingBase)
IsAsync

Возвращает или задает значение, которое указывает, следует ли объекту Binding получать и задавать значения асинхронно.Gets or sets a value that indicates whether the Binding should get and set values asynchronously.

Mode

Возвращает или задает значение, указывающее направление потока данных в привязке.Gets or sets a value that indicates the direction of the data flow in the binding.

NotifyOnSourceUpdated

Возвращает или задает значение, указывающее, следует ли вызывать событие SourceUpdated, когда значение передается от целевого объекта привязки к источнику привязки.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

Возвращает или задает значение, указывающее, следует ли вызывать событие TargetUpdated, когда значение передается от исходного объекта привязки к целевому объекту привязки.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

Получает или задает значение, указывающее, следует ли вызывать подключенное к Error событие в привязанном объекте.Gets or sets a value that indicates whether to raise the Error attached event on the bound object.

Path

Возвращает или задает путь к свойству источника привязки.Gets or sets the path to the binding source property.

RelativeSource

Получает или задает источник привязки, указывая его расположение относительно положения целевого объекта привязки.Gets or sets the binding source by specifying its location relative to the position of the binding target.

Source

Возвращает или задает объект, используемый как источник привязки.Gets or sets the object to use as the binding source.

StringFormat

Возвращает или задает строку, указывающую способ форматирования привязки при отображении связанного значения в виде строки.Gets or sets a string that specifies how to format the binding if it displays the bound value as a string.

(Унаследовано от BindingBase)
TargetNullValue

Возвращает или задает значение, используемое в целевом элементе, если значение источника равно null.Gets or sets the value that is used in the target when the value of the source is null.

(Унаследовано от BindingBase)
UpdateSourceExceptionFilter

Получает или задает обработчик, который можно использовать для предоставления пользовательской логики для обработки исключений, которые механизм привязки находит при обновлении значения источника привязки.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. Это применимо, только если имеется правило ExceptionValidationRule, связанное с привязкой.This is only applicable if you have associated an ExceptionValidationRule with your binding.

UpdateSourceTrigger

Получает или задает значение, определяющее расписание обновлений источника привязки.Gets or sets a value that determines the timing of binding source updates.

ValidatesOnDataErrors

Получает или задает значение, указывающее, включать ли объект DataErrorValidationRule.Gets or sets a value that indicates whether to include the DataErrorValidationRule.

ValidatesOnExceptions

Получает или задает значение, указывающее, включать ли объект ExceptionValidationRule.Gets or sets a value that indicates whether to include the ExceptionValidationRule.

ValidatesOnNotifyDataErrors

Получает или задает значение, указывающее, включать ли объект NotifyDataErrorValidationRule.Gets or sets a value that indicates whether to include the NotifyDataErrorValidationRule.

ValidationRules

Получает коллекцию правил, проверяющих правильность пользовательского ввода.Gets a collection of rules that check the validity of the user input.

XPath

Возвращает или задает XPath запрос, возвращающий значение источника привязки XMLXML, которое нужно использовать.Gets or sets an XPath query that returns the value on the XMLXML binding source to use.

Присоединенные свойства

XmlNamespaceManager

Получает или задает объект XmlNamespaceManager, используемый для выполнения учитывающих пространство имен запросов XPath в привязках XML.Gets or sets the XmlNamespaceManager used to perform namespace-aware XPath queries in XML bindings.

Методы

AddSourceUpdatedHandler(DependencyObject, EventHandler<DataTransferEventArgs>)

Добавляет обработчик для вложенного события SourceUpdated.Adds a handler for the SourceUpdated attached event.

AddTargetUpdatedHandler(DependencyObject, EventHandler<DataTransferEventArgs>)

Добавляет обработчик для вложенного события TargetUpdated.Adds a handler for the TargetUpdated attached event.

Equals(Object)

Определяет, равен ли заданный объект текущему объекту.Determines whether the specified object is equal to the current object.

(Унаследовано от Object)
GetHashCode()

Служит хэш-функцией по умолчанию.Serves as the default hash function.

(Унаследовано от Object)
GetType()

Возвращает объект Type для текущего экземпляра.Gets the Type of the current instance.

(Унаследовано от Object)
GetXmlNamespaceManager(DependencyObject)

Возвращает объект диспетчера пространства имен XMLXML, используемый привязкой, подключенной к указанному объекту.Returns an XMLXML namespace manager object used by the binding attached to the specified object.

MemberwiseClone()

Создает неполную копию текущего объекта Object.Creates a shallow copy of the current Object.

(Унаследовано от Object)
ProvideValue(IServiceProvider)

Возвращает объект, который следует задать для свойства, в котором применяются эта привязка и это расширение.Returns an object that should be set on the property where this binding and extension are applied.

(Унаследовано от BindingBase)
RemoveSourceUpdatedHandler(DependencyObject, EventHandler<DataTransferEventArgs>)

Удаляет обработчик для вложенного события SourceUpdated.Removes a handler for the SourceUpdated attached event.

RemoveTargetUpdatedHandler(DependencyObject, EventHandler<DataTransferEventArgs>)

Удаляет обработчик для вложенного события TargetUpdated.Removes a handler for the TargetUpdated attached event.

SetXmlNamespaceManager(DependencyObject, XmlNamespaceManager)

Задает объект диспетчера пространства имен, используемый привязкой, которая подсоединена к предоставленному элементу.Sets a namespace manager object used by the binding attached to the provided element.

ShouldSerializeFallbackValue()

Возвращает значение, определяющее, должны ли процессы сериализации выполнять сериализацию действующего значения свойства FallbackValue по экземплярам данного класса.Returns a value that indicates whether serialization processes should serialize the effective value of the FallbackValue property on instances of this class.

(Унаследовано от BindingBase)
ShouldSerializePath()

Определяет необходимость сохранения значения свойства Path.Indicates whether the Path property should be persisted.

ShouldSerializeSource()

Определяет необходимость сохранения значения свойства Source.Indicates whether the Source property should be persisted.

ShouldSerializeTargetNullValue()

Возвращает значение, которое указывает, должно ли свойство TargetNullValue быть сериализовано.Returns a value that indicates whether the TargetNullValue property should be serialized.

(Унаследовано от BindingBase)
ShouldSerializeValidationRules()

Определяет необходимость сохранения значения свойства ValidationRules.Indicates whether the ValidationRules property should be persisted.

ToString()

Возвращает строку, представляющую текущий объект.Returns a string that represents the current object.

(Унаследовано от Object)

Присоединенные события

SourceUpdated

Возникает, когда значение передается от целевого объекта привязки к источнику привязки, но только для привязок, у которых значение NotifyOnSourceUpdated равно 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

Возникает, когда значение передается от источника привязки к целевому объекту привязки, но только для привязок, у которых значение NotifyOnTargetUpdated равно 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.

Применяется к

Дополнительно