почему wpf UpdateSourceTrigger не работает - PullRequest
0 голосов
/ 31 октября 2018

Почему простой предоставленный код копирует «исходный» текст при каждом нажатии клавиши, а не на lostFocus?

<StackPanel>
    <TextBox Text="{Binding Text, ElementName=source, UpdateSourceTrigger=LostFocus}"/>
    <TextBox x:Name="source"/>
</StackPanel>

Ответы [ 2 ]

0 голосов
/ 31 октября 2018

Ваш код говорит следующее:

Первый TextBox связан с элементом управления TextBox ниже. Таким образом, текст первого TextBox будет меняться в соответствии со значением Text второго TextBox.

Ответ: Потерянный фокус - это когда вы меняете первый TextBox. Когда вы меняете второй, поскольку он связан с первым TextBox, он автоматически обновляется на первом.

Edit: Я запустил этот код: Если вы измените первый TextBox, только когда вы потеряете фокус, другой TextBox изменится. Если вы измените второй, первый изменится автоматически, , как я и ожидал .

0 голосов
/ 31 октября 2018

это довольно просто. UpdateSourceTrigger с LostFocus обновляет привязку source всякий раз, когда целевой элемент привязки теряет фокус. Это не работает в обоих направлениях. Привязки работают правильно, правильно, как и ожидалось.

...