0

我有一个源设置为 a 的图像ValueConverter

<Image Source="{Binding Converter={StaticResource siConv}}" Width="16" Height="16"/>

当绑定对象引发PropertyChanged事件(来自INotifyPropertyChanged)时,图像不会改变。我认为这是因为 WPF 不知道转换器查看哪些字段。

当某个属性发生变化时,如何告诉 WPF 重新绑定/重新运行此转换器?

4

3 回答 3

2

这里的答案是使用数据触发器,而不是值转换器。触发器直接绑定到属性,并获取 propertychanged 事件。此外,还省去了编写一堆一次性价值转换器的麻烦。

于 2009-09-18T17:47:15.383 回答
2

如果您真的打算编写 ValueConverter,则可以使用 MultiValueConverter 以及您希望 WPF 框架监控的所有值。对这些值的任何更改,框架都会更新它绑定到的值。

于 2009-09-19T04:03:54.333 回答
2

路径很重要:

<Image Source="{Binding Converter={StaticResource siConv}, ConverterParameter=yourproperty, Path=yourproperty, UpdateSourceTrigger=PropertyChanged}"  Width="16" Height="16"/>
于 2012-09-12T15:18:58.167 回答