我有一个usercontrol,其上下文是给定的对象Foo。
我有一个只读模式的文本框,其文本根据组合框中的选定值(双向绑定)而变化。文本框的值使用Foo中许多字段的值。
现在,我编写了一个转换器Text="{Binding ComboboxValue, Converter={StaticResource MyTextConverter}}
和代码隐藏,根据ComboboxValue,我需要返回一个由其他Foo值组成的字符串。问题是我无法访问转换器中的DataContext,我无法通过它。
如果我在没有Path的情况下绑定上下文(使用Text="{Binding Converter={StaticResource ConnectionStringTextConverter}}
),那么每次我在组合框中的值发生变化(正常)时都不会触发。
那么,这样可能吗?或者我被迫使用组合框的Selected事件?
由于
PS:实际上,我需要的是在我的DataContext上绑定文本框的Text属性(没有Path),但是每次对象的属性更改发生变化时我都需要评估绑定。这可能吗?
答案 0 :(得分:0)
您可以像这样使用DataContextProxy实用程序类:
Text={Binding ComboBoxValue, Converter={StaticResource MyTextConverter}, ConverterParameter={StaticResource DataContextProxy}}
然后在你的转换器中获取转换器参数并将其转换为DataContextProxy并使用其DataSource属性。