| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > WPF и Silverlight > TwoWay Binding не работает в сторону к сорсу |
| Автор: Bladerender 11.12.2014, 09:30 |
| В общем проблема такая. Есть кодБихайнд у вьюхи и есть вью-модель. Кто-то когда-то забиндился на этот код-бихайнд у вьюхи и оно так теперь работает. Но вопрос в том, что при установке Mode-TwoWay назад не приходит ответ. Хотя, если в этот биндинг вставить конвертер, то при изменении значения на вьюхе, конвертер срабатывает (тот метод что в другую сторону), что наверное значит, что все начинает идти нормально и не доходит до Сорса. Может быть из-за того, что не может его найти. Хотя в сторону от сорса то работает. Вопрос в том, что если перенастраиваю параметры биндинга, что бы они шли на вью-модель, то срабатывает в обе стороны. Так просто я это не могу переколбасить, потому что в код-бихайнде куча логики на этот OneWayToSource. А назад мне нужно всеголиш узнать новое значение. Неважно как и в каком месте. Можно и в вью-модели. Вопрос. Можно ли в биндинге замутить так, что бы OneWay брался с одного сорса, а OneWayToSource работал к другому сорсу? типа Field = "{Binding Mode=OneWay, Source ={bla bla bla}, Mode=OneWayToSource, Source = {bla bla bla}}" Спасибо. |
| Автор: Ilya81 11.12.2014, 15:28 |
| Есть два пердположения: 1). DataContext control'а где-то сбрасывается после того, как он считывает значение из property (лучше смотрите через WPF Tree visualizer); 2). тип данных преобразуем только в одну сторону. А вообще, если указать больше информации (на какое свойство какого control'а стоит binding, как описано свойство, код этого пробоного конвертора и т. п.), было б проще определить причину. |