Wenn Sie ein datengebundenes Steuerelement aktualisieren möchten, verwenden Sie normalerweise das Ereignis "PropertyChanged", um der Schnittstelle zu signalisieren, dass sich die Daten im Hintergrund geändert haben.WPF-Aktualisierung Bindung bei direkter Bindung an DataContext mit Konverter
Zum Beispiel könnten Sie einen Textblock haben, der an die Datacontext mit einer Eigenschaft „Displaytext“
<TextBlock Text="{Binding Path=DisplayText}"/>
Von hier gebunden ist, wenn die Datacontext hebt das Property Ereignis mit Property „Displaytext“, dann Der Text dieses Textblocks sollte aktualisiert werden (vorausgesetzt, Sie haben den Modus der Bindung nicht geändert).
Allerdings habe ich eine kompliziertere Bindung, die viele Eigenschaften aus dem Datenkontext verwendet, um das endgültige Aussehen und das Gefühl des Steuerelements zu bestimmen. Um dies zu erreichen, binde ich direkt an den Datenkontext und benutze einen Konverter. In diesem Fall arbeite ich mit einer Bildquelle.
<Image Source="{Binding Converter={StaticResource ImageConverter}}"/>
Wie Sie sehen können, verwende ich eine {Binding} ohne Pfad direkt an den Datacontext zu binden, und ich verwende ein Image Converter das Bild auszuwählen, die ich suche. Aber jetzt habe ich keine Möglichkeit (das ich weiß), diese Bindung zu aktualisieren. Ich habe versucht, das propertychanged-Ereignis mit "." als der Name der Eigenschaft, der nicht funktioniert hat.
Ist das möglich? Muss ich die Konvertierungslogik in eine Eigenschaft einbinden, an die die Bindung anhängen kann, oder gibt es eine Möglichkeit, die Bindung zu aktualisieren (ohne die Bindung explizit zu aktualisieren)?
Jede Hilfe würde sehr geschätzt werden. Danke! -Adam
DANKE! Ich war verrückt danach zu suchen und wollte es fragen, als es auf meinen Vorschlägen erschien – HDD