2009-09-18 49 views
0

我有源通過ValueConverter設置圖像:INotifyPropertyChange不更新基於轉換器的值?

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

當裝訂物引發一個事件PropertyChanged(來自INotifyPropertyChanged)時,圖像不會改變。我認爲這是因爲WPF不知道轉換器看什麼字段。

如何告訴WPF在特定屬性更改時重新綁定/重新運行此轉換器?

回答

2

這裏的答案是使用數據觸發器,而不是數值轉換器。觸發器直接綁定到屬性,並拾取propertychanged事件。此外,省去編寫一堆一次性值轉換器。

2

如果你真的打算在寫ValueConverter,可能是使用MultiValueConverter所有你想要的WPF框架,以便監測值。對這些值的任何更改,框架都會更新綁定的值。

2

的路徑是非常重要的:

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