2009-09-18 8 views
0

J'ai une image avec la source fixée par un ValueConverter:INotifyPropertyChange ne met pas à jour les valeurs basées sur des convertisseurs?

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

Lorsque l'objet lié déclenche un événement PropertyChanged (de INotifyPropertyChanged), l'image ne change pas. Je suppose que c'est parce que WPF ne sait pas quels champs le convertisseur regarde. Comment puis-je demander à WPF de relancer/relancer ce convertisseur lorsqu'une certaine propriété change?

Répondre

2

La réponse ici était d'utiliser des déclencheurs de données, pas des convertisseurs de valeur. Le déclencheur est lié directement à la propriété et récupère l'événement propertychanged. En outre, enregistre l'écriture d'un groupe de convertisseurs de valeur unique.

2

Et si vous vraiment l'intention d'écrire un ValueConverter, peut-être utiliser un MultiValueConverter avec toutes les valeurs que vous souhaitez le cadre WPF à surveiller. Toute modification apportée à ces valeurs et l'infrastructure mettraient à jour la valeur à laquelle elle est liée.

2

le chemin est important:

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