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}" />
- Наследование
- Атрибуты
Примеры
В следующем примере кода показано, как создать привязку в 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. Дополнительные сведения о том, как задать пути
Экземпляр класса Binding можно применить к нескольким целевым объектам. Однако нельзя изменить значения свойств объекта Binding после его подключения к целевому элементу.
Заметка
Вызов метода FrameworkElement.SetBinding и передача нового объекта Привязки не обязательно удалит существующую привязку. Вместо этого следует использовать метод Microsoft.UI.Xaml.DependencyObject.ClearValue.
Дополнительные сведения об использовании атрибута XAML для свойств, которые могут принимать привязку или которые могут быть заданы в качестве значения, привязанного к данным, см. в разделе расширение разметки {Binding}.
Свойство, которое является целевым объектом привязки данных, должно быть свойством зависимостей. Дополнительные сведения см. в
Конструкторы
Binding() |
Инициализирует новый экземпляр класса привязки |
Свойства
Converter |
Возвращает или задает объект преобразователя, вызываемый подсистемой привязки, чтобы изменить данные, передаваемые между источником и целевым объектом, или наоборот. |
ConverterLanguage |
Возвращает или задает значение, которое называет язык для передачи любому преобразователю, указанному свойством преобразователя |
ConverterParameter |
Возвращает или задает параметр, который можно использовать в логике преобразователя |
Dispatcher |
Всегда возвращает |
DispatcherQueue |
Возвращает |
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) |
Применяется к
См. также раздел
- <xref:Microsoft.UI.Xaml.Data.BindingOperations.SetBinding(Microsoft.UI.Xaml.DependencyObject%2cMicrosoft.UI.Xaml.DependencyProperty%2cMicrosoft.UI.Xaml.Data.BindingBase)%0a(bindingoperations_setbinding_746099660.md)>
- пример привязки данных XAML
- привязка данных в глубине
- Общие сведения о свойствах зависимостей
- синтаксис пути свойства