【发布时间】:2018-12-14 00:39:14
【问题描述】:
假设我正在绑定到控件的可见性:
Visibility="{Binding Path=Name, Converter={StaticResource NameToVisibilityConverter}}"
有了这个,它在应用程序第一次启动时运行良好,但是当NameToVisibilityConverter中的某个参数发生变化导致可见性不同时,但可见性绑定的Name保持不变,转换器不会重新触发。我可以试试这个:
Visibility="{Binding Path=Name, Converter={StaticResource NameToVisibilityConverter}, UpdateSourceTrigger=PropertyChanged}"
添加UpdateSourceTrigger=PropertyChanged 对这种情况没有帮助,因为Binding Path=. 是相同的,不会触发 valueconverter 再次转换。
如何更改UpdateSourceTrigger=PropertyChanged 的属性,使其在与Name 不同的属性上触发(我想要实现的就像与当前绑定不同的UpdateSourceProperty 属性):
Visibility="{Binding Path=Name, Converter={StaticResource NameToVisibilityConverter}, UpdateSourceTrigger=PropertyChanged, UpdateSourceProperty={Binding Path=Count}"
谢谢!如果有什么需要澄清的,请告诉我。底线是我需要一个 valueConverter 来转换比绑定属性更改频率更高的频率。
【问题讨论】:
-
我认为该事件的目的是满足数据源更改,并且您想要刷新绑定(在设计时定义)。
-
你应该使用 MultiBinding 来代替