Show / Hide Table of Contents

Практическое руководство. Управление обновлением источника из поля TextBox

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

Пример

TextBox.Text свойство имеет значение по умолчанию UpdateSourceTrigger значение LostFocus. Это означает, что если приложение имеет TextBox с привязкой к данным TextBox.Text свойство, введенный текст в TextBox обновляет источник до TextBox теряет фокус (например, при нажатии кнопки с TextBox).

Источник обновляться по мере ввода, задайте UpdateSourceTrigger привязки PropertyChanged. В следующем примере, выделенные строки кода показывают, что Text свойствах обоих TextBox и TextBlock привязаны к тому же свойству источника. UpdateSourceTrigger Свойство TextBox привязки имеет значение PropertyChanged.

Warning

It looks like the sample you are looking for does not exist.

В результате TextBlock отображается тот же текст (поскольку источник изменяется), который пользователь вводит текст в TextBox, как показано на следующем снимке экрана примера:

Снимок экрана примера привязки простых данных

Если у вас есть диалоговое окно или редактируемая пользователем форма и требуется отложить обновление источника, пока пользователь не завершит редактирование поля и нажимает кнопку «ОК», можно задать UpdateSourceTrigger значение привязки в Explicit, как показано в следующем примере:

<TextBox Name="itemNameTextBox"
         Text="{Binding Path=ItemName, UpdateSourceTrigger=Explicit}" />

При задании UpdateSourceTrigger значение Explicit, исходное значение изменяется, только когда приложение вызывает UpdateSource метод. В следующем примере показан вызов UpdateSource для itemNameTextBox:

// itemNameTextBox is an instance of a TextBox
BindingExpression be = itemNameTextBox.GetBindingExpression(TextBox.TextProperty);
be.UpdateSource();
Note

Можно использовать ту же методику для свойств других элементов управления, но имейте в виду, что для большинства других свойств по умолчанию UpdateSourceTrigger значение PropertyChanged. Дополнительные сведения см. в разделе UpdateSourceTrigger страницу свойств.

Note

UpdateSourceTrigger Свойство относится к обновлению источника и поэтому подходит только для TwoWay или OneWayToSource привязки. Для TwoWay и OneWayToSource привязки для работы, исходный объект должен предоставить уведомление об изменениях свойств. Можно изучить примеры, приведенные в этом разделе, для получения дополнительной информации. Кроме того, см. раздел Реализация уведомления об изменении свойства.

См. также

  • Практические руководства
Back to top Неофициальная документация по .NET на русском языке. Лицензия: CC-BY 4.0. Основано на документации по .NET с Microsoft Docs
Generated by DocFX