2010-12-07 2 views
1

У меня есть usercontrol, контекст которого является данным объектом Foo.получить контекст в конвертере?

У меня есть текстовое поле в режиме readonly, текст которого изменяется в соответствии с выбранным значением в combobox (который является привязкой в ​​двух направлениях). Значение текстового поля использует значения большого количества полей в Foo.

На данный момент я написал конвертер Text="{Binding ComboboxValue, Converter={StaticResource MyTextConverter}} и код-позади, в соответствии с ComboboxValue, мне нужно вернуть строку, состоящую из других значений Foo. Проблема в том, что я не могу получить доступ к DataContext в конвертере, и я не могу его передать. Если я свяжу контекст без пути (используя Text="{Binding Converter={StaticResource ConnectionStringTextConverter}}), он не будет запускаться каждый раз, когда меняет значение в поле со списком (нормальное).

Так, возможно ли это так? Или я вынужден использовать выбранное событие в поле со списком?

Благодаря

PS: На самом деле, что мне нужно, чтобы связать Text свойства текстового поля на моей DataContext (без пути), но мне нужно связывание быть оценивать каждый раз, когда изменение свойств объекта изменяется , Это возможно ?

+0

Фактически, мне нужно привязать свойство Text текстового поля к моему DataContext (no Path), но мне нужно, чтобы привязка была оценена каждый раз при изменении свойства объекта. Это возможно ? – 2010-12-07 16:33:46

ответ

0

Вы можете использовать класс DataContextProxy утилиты, как это:

Text={Binding ComboBoxValue, Converter={StaticResource MyTextConverter}, ConverterParameter={StaticResource DataContextProxy}} 

, а затем в конверторе захватить параметр преобразователя и приведение его в DataContextProxy и использовать его свойство DataSource.

Смежные вопросы