wpf drag and drop setter вызывает в источнике - PullRequest
0 голосов
/ 13 апреля 2011

У меня есть такое текстовое поле:

<TextBox x:Name="txtCondition" Text="{Binding Path=Name ,Mode=TwoWay}"/>

Когда я выбираю текст в этом текстовом поле и перетаскиваю его куда-нибудь, автоматически вызывается установщик свойства binded в этом текстовом поле, но я непонять почему :(.

Можно ли как-то отключить его, чтобы wpf не вызывал свойство setter в этом случае?

Заранее спасибо за помощь!

С уважением, Zoli

РЕДАКТИРОВАТЬ:

Мы должны сделать некоторые хак здесь :).

Мы создаем переменную bool в viewModel.Задайте для переменной bool значение true в событии previewDrop, а когда вызывается установщик, проверьте значение этой переменной bool.Если это правда, ничего не делать в установщике и установить переменную bool в false.

Другой способ, вы можете проверить трассировку стека, чтобы узнать, где вызывается этот установщик :)

Но яМне очень любопытно, почему wpf вызывает установщик свойства binded в источнике, когда мы отбрасываем из него элемент, поэтому, если кто-то знает эту причину, сообщите нам :).

1 Ответ

0 голосов
/ 13 апреля 2011

Поведение привязки TextBoxes по умолчанию обновляется при потере фокуса, поэтому при перетаскивании это срабатывает.Вы можете изменить UpdateSourceTrigger привязки на Explicit, чтобы избежать автоматического обновления, но, конечно, вам нужно будет запустить обновление вручную в какой-то момент.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...