2009-07-22 2 views
4

Ich möchte in der Lage sein, eine Überblendungsanimation für ein Textelement zu erstellen, wenn die Bindung an dieses Element aktualisiert wird. Mit anderen Worten, der Effekt ist, dass als Text zu einem Textfeld hinzugefügt wird, sieht ein Fading-Effekt, wie der Text aktualisiert und dann ausgeblendet wird. Ich weiß nicht, wie ich das erreichen kann. Ich habe etwas ähnliches mit einem EventTrigger auf einem RoutedEvent wie FrameworkElement.Loaded gesehen, aber wie erkennt man, wenn eine Bindung aktualisiert?Animiere WPF-Text beim Binden von Updates, wie?

Danke.

Antwort

8

Sie können Eigenschaften für Ihre Bindung festlegen, die zum Auslösen von Ereignissen führen. Es gibt zwei Eigenschaften zur Verfügung:

  1. NotifyOnSourceUpdated: Heben Sie die Sourceupdated Ereignis, wenn ein Wert aus dem Bindungsziel an die Bindungsquelle übertragen wird.
  2. NotifyOnTargetUpdated: Erhöhen Sie das TargetUpdated-Ereignis, wenn ein Wert von der Bindungsquelle an das Bindungsziel übergeben wird.

Aus der Beschreibung Ihrer Einrichtung, es klingt wie Sie NotifyOnTargetUpdated verwenden möchten. Setzen Sie dies in Ihrer Bindung auf "True". Wenn das Ziel aktualisiert wird, wird das Ereignis Binding.TargetUpdated ausgelöst. Sie können dann dieses Ereignis in einem EventTrigger anhören und Ihren Text ausblenden.

+0

Leider ist FrameworkElement.TargetUpdated kein RoutedEvent und kann daher nicht in einem EventTrigger verwendet werden. – HiteshP

+0

Ah- ich war sehr nah dran. Sie müssen das angehängte Ereignis (Binding.TargetUpdated) verwenden. – Charlie

+0

danke, das hat es für mich gelöst :) –