繁体   English   中英

INotifyPropertyChange是否不更新基于转换器的值?

[英]INotifyPropertyChange does not update converter-based values?

我有一个图像,其ValueConverter设置:

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

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

当某些属性更改时,如何告诉WPF重新绑定/重新运行此转换器?

路径很重要:

<Image Source="{Binding Converter={StaticResource siConv}, ConverterParameter=yourproperty, Path=yourproperty, UpdateSourceTrigger=PropertyChanged}"  Width="16" Height="16"/>

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

并且,如果您真的打算编写ValueConverter,可以将MultiValueConverter与希望WPF框架监视的所有值一起使用。 对这些值的任何更改,框架都会更新绑定到的值。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM