2010-12-07 96 views
1

我有一个usercontrol的上下文是给定的对象Foo。在转换器中获取上下文?

我有一个文本框在只读模式,其文本更改根据组合框中选定的值(这是双向绑定)。文本框的值使用Foo中很多字段的值。

现在,我已经写了一个转换器Text="{Binding ComboboxValue, Converter={StaticResource MyTextConverter}}和代码隐藏,根据ComboboxValue,我需要返回一个由其他值的Foo组成的字符串。问题是我无法访问转换器中的DataContext,我无法通过它。 如果我绑定没有路径的上下文(使用Text="{Binding Converter={StaticResource ConnectionStringTextConverter}}),它不会在每次我的组合框中的值发生变化时触发(正常)。

那么,它可以这样吗?或者我被迫使用组合框的Selected事件?

感谢

PS:其实,我需要的是在我的DataContext(无路径)文本框的Text属性绑定,但我需要每次评估对象变化的属性更改绑定。这可能吗 ?

+0

实际上,我需要的是在我的DataContext(无路径)上绑定文本框的Text属性,但是我需要在每次更改对象的属性更改时评估绑定。这可能吗 ? – 2010-12-07 16:33:46

回答

0

您可以使用DataContextProxy实用程序类是这样的:

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

,然后在转换器抓取器参数,并将其转换为DataContextProxy和使用它的DataSource属性。