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


Binding Класс

Определение

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

/// [Windows.Foundation.Metadata.ContractVersion(Microsoft.UI.Xaml.WinUIContract, 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(Microsoft.UI.Xaml.WinUIContract), 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
Атрибуты

Примеры

В следующем примере кода показано, как создать привязку в 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);

Комментарии

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

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

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

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

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

Заметка

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

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

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

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

Binding()

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

Свойства

Converter

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

ConverterLanguage

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

ConverterParameter

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

Dispatcher

Всегда возвращает null в приложении пакета SDK для приложений windows. Вместо этого используйте DispatcherQueue.

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

Возвращает DispatcherQueue, с которым связан этот объект. DispatcherQueue представляет собой объект, который может получить доступ к 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 в этом экземпляре DependencyObj ect.

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

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

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

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

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

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

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