所以我有一个实现INotifyPropertyChanged的对象,我有一个属性,当它改变时,它会调用PropertyChanged事件,但是当我使用这样的转换器时:
<Image Grid.Column="0">
<Image.Source>
<Binding Path="IsInstrumentStatusOk" UpdateSourceTrigger="PropertyChanged">
<Binding.Converter>
<converters:BooleanToImageConverter
ImagePathIfFalse="/Images/InstrumentStatusBar/Instrument_Status_Alarm.png"
ImagePathIfTrue="/Images/InstrumentStatusBar/Instrument_Status_OK.png" />
</Binding.Converter>
</Binding>
</Image.Source>
</Image>
由于某种原因,它不会更新它,也不会调用转换器。如果我像平常一样使用它
Source="{Binding MyProperty, Converter={StaticResource MyConverter}}"
它有效,但我不想那样使用它,因为我有一堆转换器,我想用不同的图像。知道为什么不更新吗?
感谢。
答案 0 :(得分:2)
您在XAML中设置了UpdateSourceTrigger="PropertyChanged"
。这意味着当目标属性更改时,值应更新回源。显然,没有任何东西可以改变Image::Source
属性。
完全删除UpdateSourceTrigger
设置,您应该没问题。