Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > 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, как описано свойство, код этого пробоного конвертора и т. п.), было б проще определить причину.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)