我的图片来源为ValueConverter
:
<Image Source="{Binding Converter={StaticResource siConv}}" Width="16" Height="16"/>
当绑定对象引发PropertyChanged
事件(来自INotifyPropertyChanged
)时,图像不会更改。我认为这是因为WPF不知道转换器看到的字段。
当某个属性发生变化时,如何告诉WPF重新绑定/重新运行此转换器?
答案 0 :(得分:2)
这里的答案是使用数据触发器,而不是值转换器。触发器直接绑定到属性,并获取propertychanged事件。另外,节省了写一堆一次性值转换器的费用。
答案 1 :(得分:2)
如果您真的打算编写ValueConverter,可以使用MultiValueConverter,其中包含您希望WPF框架监视的所有值。对这些值的任何更改,框架都会更新绑定到的值。
答案 2 :(得分:2)
<Image Source="{Binding Converter={StaticResource siConv}, ConverterParameter=yourproperty, Path=yourproperty, UpdateSourceTrigger=PropertyChanged}" Width="16" Height="16"/>