簡體   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