Поделиться через


Binding Класс

Определение

Определяет привязку, соединяющую свойства целевых объектов привязки и источников данных.

/// [Windows.Foundation.Metadata.ContractVersion(Windows.Foundation.UniversalApiContract, 65536)]
/// [Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
/// [Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
class Binding : BindingBase
[Windows.Foundation.Metadata.ContractVersion(typeof(Windows.Foundation.UniversalApiContract), 65536)]
[Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
[Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
public class Binding : BindingBase
Public Class Binding
Inherits BindingBase
<Binding .../>
- or -
<dependencyobject dependencyproperty="{Binding bindingArgs}" />
Наследование
Object IInspectable DependencyObject BindingBase Binding
Атрибуты

Требования к Windows

Семейство устройств
Windows 10 (появилось в 10.0.10240.0)
API contract
Windows.Foundation.UniversalApiContract (появилось в v1.0)

Примеры

В следующем примере кода показано, как создать привязку в XAML. Полный список кода см. в примере привязки данных XAML.

<StackPanel Margin="5">

  <TextBlock Text="Name:" Style="{StaticResource DescriptionTextStyle}" 
    Margin="5" HorizontalAlignment="Left" VerticalAlignment="Top"/>

  <TextBox Text="{Binding Path=Name, Mode=TwoWay}" 
    Width="350" Margin="5" HorizontalAlignment="Left" VerticalAlignment="Top"/>

  <TextBlock Text="Organization:" Style="{StaticResource DescriptionTextStyle}" 
    Margin="5" HorizontalAlignment="Left" VerticalAlignment="Top"/>

  <!-- You can omit the 'Path=' portion of the binding expression. --> 
  <TextBox Text="{Binding Organization, Mode=TwoWay}" Width="350" 
    Margin="5" HorizontalAlignment="Left" VerticalAlignment="Top"/>

</StackPanel>

В следующем примере кода показано, как создать привязку в коде.

// Create the source string.
string s = "Hello";

// Create the binding description.
Binding b = new Binding();
b.Mode = BindingMode.OneTime;
b.Source = s;

// Attach the binding to the target.
TextBlock MyText = new TextBlock();
MyText.SetBinding(TextBlock.TextProperty, b);
// Create the source string.
String^ s = ref new String(L"Hello");

// Create the binding description.
Binding^ b = ref new Binding();
b->Mode = BindingMode::OneTime;
b->Source = s;

// Attach the binding to the target.
TextBlock^ MyText = ref new TextBlock();
MyText->SetBinding(MyText->TextProperty, b);
'Create the source string 
Dim s As String = "Hello"

'Create the binding description 
Dim b As New Binding()
b.Mode = BindingMode.OneTime
b.Source = s

'Attach the binding to the target 
Dim MyText As New TextBlock()
MyText.SetBinding(TextBlock.TextProperty, b)

Комментарии

Расширение разметки {Binding} позволяет указать значение Привязки в виде одной строки атрибута в XAML, включая задание свойств Привязки, таких как Path и Source. Дополнительные сведения о концепциях привязки данных см. в разделе Привязка данных.

Класс Binding можно считать раскрытием кода программной части расширения разметки {Binding}. Если привязка уже применена к целевому объекту (что происходит при загрузке XAML), нельзя задать свойства чтения и записи объекта Binding, чтобы изменить поведение привязки во время выполнения. Любая привязка, определяемая XAML, должна считаться неизменяемой. Но вы можете создать новый объект Binding, задать его свойства и установить новую привязку для определенного целевого элемента пользовательского интерфейса с помощью FrameworkElement.SetBinding. Дополнительные сведения см. в разделе Создание привязок в коде.

Объект Binding подключает свойство зависимостей FrameworkElement непосредственно к объекту данных, чтобы обновления объекта данных автоматически распространялись на свойство, использующее привязку данных. Класс Binding определяет свойства привязки. Каждая привязка должна иметь целевой элемент, целевое свойство и источник данных, хотя некоторые значения предоставляются по умолчанию, если они не указаны.

Чтобы выполнить привязку к свойству или дочернему свойству объекта данных, задайте свойство Path объекта Binding. Дополнительные сведения о том, как задать Path в коде или в XAML, см. в разделе Синтаксис пути к свойству или расширение разметки {Binding}.

Экземпляр класса Binding можно применить к нескольким целевым объектам. Однако изменить значения свойств объекта Binding после его присоединения к целевому элементу нельзя.

Примечание

Вызов метода FrameworkElement.SetBinding и передача нового объекта Binding не обязательно приведет к удалению существующей привязки. Вместо этого следует использовать метод DependencyObject.ClearValue .

Дополнительные сведения об использовании атрибута XAML для свойств, которые могут принимать привязку или которым в противном случае можно задать значение, привязанное к данным, см. в разделе Расширение разметки {Binding}.

Свойство, являющееся целью привязки данных, должно быть свойством зависимостей. Подробнее см. в разделе Общие сведения о свойствах зависимостей.

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

Binding()

Инициализирует новый экземпляр класса Binding .

Свойства

Converter

Возвращает или задает объект преобразователя, вызываемый модулем привязки для изменения данных по мере их прохождения между источником и целевым объектом или наоборот.

ConverterLanguage

Возвращает или задает значение, которое присваивает имя языку, передаваемому любому преобразователю, заданному свойством Converter .

ConverterParameter

Возвращает или задает параметр, который можно использовать в логике преобразователя .

Dispatcher

Возвращает объект CoreDispatcher , с которым связан этот объект. CoreDispatcher представляет собой средство, которое может получить доступ к DependencyObject в потоке пользовательского интерфейса, даже если код инициируется потоком, не относящегося к пользовательскому интерфейсу.

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

Возвращает или задает имя элемента, используемого в качестве источника привязки для привязки.

FallbackValue

Получает или задает значение, которое следует использовать, когда привязка не может вернуть значение.

Mode

Возвращает или задает значение, указывающее направление потока данных в привязке.

Path

Возвращает или задает путь к свойству источника привязки.

RelativeSource

Получает или задает источник привязки, указывая его расположение относительно положения целевого объекта привязки. Это чаще всего используется в привязках в шаблонах элементов управления XAML.

Source

Возвращает или задает источник данных для привязки.

TargetNullValue

Возвращает или задает значение, используемое в целевом объекте, если значение источника равно NULL.

UpdateSourceTrigger

Возвращает или задает значение, определяющее время обновления источника привязки для двусторонних привязок.

Методы

ClearValue(DependencyProperty)

Очищает локальное значение свойства зависимостей.

(Унаследовано от DependencyObject)
GetAnimationBaseValue(DependencyProperty)

Возвращает любое базовое значение, установленное для свойства зависимостей, которое применяется в случаях, когда анимация не активна.

(Унаследовано от DependencyObject)
GetValue(DependencyProperty)

Возвращает текущее действующее значение свойства зависимостей из DependencyObject.

(Унаследовано от DependencyObject)
ReadLocalValue(DependencyProperty)

Возвращает локальное значение свойства зависимостей, если задано локальное значение.

(Унаследовано от DependencyObject)
RegisterPropertyChangedCallback(DependencyProperty, DependencyPropertyChangedCallback)

Регистрирует функцию уведомления для прослушивания изменений определенного DependencyProperty в этом экземпляре DependencyObject .

(Унаследовано от DependencyObject)
SetValue(DependencyProperty, Object)

Задает локальное значение свойства зависимостей для Объекта DependencyObject.

(Унаследовано от DependencyObject)
UnregisterPropertyChangedCallback(DependencyProperty, Int64)

Отменяет уведомление об изменениях, которое было ранее зарегистрировано путем вызова Метода RegisterPropertyChangedCallback.

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

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

См. также раздел