INotifyPropertyChanged的不更新基于转换值?
-
22-07-2019 - |
题
我有源通过ValueConverter
设置图像:
<Image Source="{Binding Converter={StaticResource siConv}}" Width="16" Height="16"/>
当绑定对象引发一个事件PropertyChanged
(来自INotifyPropertyChanged
)时,图像不会改变。我想这是因为WPF不知道哪些字段转换看。
我如何告诉WPF重新绑定/重新运行该转换器,当某个属性的变化?
解决方案
这里的答案是使用数据触发器,不值转换器。触发器是直接绑定到的属性,并拿起PropertyChanged事件。此外,节省了写一堆一次性值转换器。
其他提示
如果你在写一个ValueConverter真正意图,可能是使用MultiValueConverter所有你想要的WPF框架,以便监测值。任何改变这些值,并且该框架将更新它被绑定到的值。
的路径是重要的:
<Image Source="{Binding Converter={StaticResource siConv}, ConverterParameter=yourproperty, Path=yourproperty, UpdateSourceTrigger=PropertyChanged}" Width="16" Height="16"/>
不隶属于 StackOverflow