通常,当您希望数据绑定控件“更新”时,您使用“PropertyChanged”事件向接口发出信号,表明数据已在后台发生更改。
例如,您可以有一个文本块,该文本块通过属性“DisplayText”绑定到数据上下文
<TextBlock Text="{Binding Path=DisplayText}"/>
从这里开始,如果 DataContext 使用 PropertyName“DisplayText”引发 PropertyChanged 事件,那么这个文本块的文本应该更新(假设您没有更改绑定的模式)。
但是,我有一个更复杂的绑定,它使用数据上下文的许多属性来确定控件的最终外观。为此,我直接绑定到数据上下文并使用转换器。在这种情况下,我正在使用图像源。
<Image Source="{Binding Converter={StaticResource ImageConverter}}"/>
如您所见,我使用没有路径的 {Binding} 直接绑定到数据上下文,并使用 ImageConverter 来选择我要查找的图像。但现在我没有办法(据我所知)告诉绑定更新。我尝试用“。”引发 propertychanged 事件。作为属性名称,它不起作用。
这可能吗?我是否必须将转换逻辑包装成绑定可以附加到的属性,或者有没有办法告诉绑定刷新(无需显式刷新绑定)?
任何帮助将不胜感激。谢谢!-亚当