INotifyPropertyChange не обновляет значения на основе конвертера? - PullRequest
0 голосов
/ 18 сентября 2009

У меня есть изображение с источником, установленным ValueConverter:

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

Когда связанный объект вызывает событие PropertyChanged (из INotifyPropertyChanged), изображение не изменяется. Я предполагаю, что это потому, что WPF не знает, на какие поля смотрит конвертер.

Как мне сказать WPF перепривязать / перезапустить этот конвертер при изменении определенного свойства?

Ответы [ 3 ]

2 голосов
/ 19 сентября 2009

И если вы действительно намереваетесь написать ValueConverter, возможно, следует использовать MultiValueConverter со всеми значениями, которые вы хотите отслеживать в платформе WPF. Любые изменения этих значений, и структура обновит значение, к которому она привязана.

2 голосов
/ 12 сентября 2012

Путь важен:

<Image Source="{Binding Converter={StaticResource siConv}, ConverterParameter=yourproperty, Path=yourproperty, UpdateSourceTrigger=PropertyChanged}"  Width="16" Height="16"/>
2 голосов
/ 18 сентября 2009

Ответом здесь было использование триггеров данных, а не преобразователей значений. Триггер привязывается непосредственно к свойству и получает событие, измененное свойством. Кроме того, экономит написание кучу одноразовых преобразователей значений.

...