Binding.Mode Свойство
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Возвращает или задает значение, указывающее направление потока данных в привязке.
public:
property BindingMode Mode { BindingMode get(); void set(BindingMode value); };
BindingMode Mode();
void Mode(BindingMode value);
public BindingMode Mode { get; set; }
var bindingMode = binding.mode;
binding.mode = bindingMode;
Public Property Mode As BindingMode
<Binding Mode="bindingModeMemberName"/>
Значение свойства
Одно из значений BindingMode . Значение по умолчанию — OneWay: источник обновляет целевой объект, но изменения целевого значения не обновляют источник.
Примеры
В этом примере показано, как задать режим привязки в XAML.
<TextBox x:Name="MyTextBox" Text="Text" Foreground="{Binding Brush1, Mode=OneWay}"/>
Комментарии
Для привязок OneWay и TwoWay динамические изменения в источнике не распространяются автоматически на целевой объект без предоставления определенной поддержки из источника. Необходимо реализовать интерфейс INotifyPropertyChanged в исходном объекте, чтобы источник сообщал об изменениях с помощью событий, которые ожидает обработчик привязки. Для C# или Microsoft Visual Basic реализуйте System.ComponentModel.INotifyPropertyChanged. Для расширений компонентов Visual C++ (C++/CX) реализуйте Windows::UI::Xaml::D ata::INotifyPropertyChanged.
Для привязок TwoWay изменения целевого объекта автоматически распространяются на источник, за исключением случаев, когда целевым объектом привязки является свойство TextBox.Text . В этом случае обновление происходит только в том случае, если элемент TextBox теряет фокус. Кроме того, можно задать для параметра UpdateSourceTrigger для привязок TwoWayзначение Явный. В этом случае вы явным образом управляете обновлениями источника, вызвав UpdateSource.
Для привязок OneTime и OneWay вызовы DependencyObject.SetValue автоматически изменяют целевое значение и удаляют привязку.
Нельзя задать значения свойств объекта Binding после того, как привязка будет присоединена к целевому элементу и целевому свойству. Если вы попытаетесь сделать это, вы получите исключение во время выполнения.