Synchronisieren Sie WPF ColorAnimation über mehrere Steuerelemente hinweg

8

Ich habe mehrere toggle-artige Tasten, die im gedrückten Zustand gleichzeitig pulsieren sollen.

Ich habe einen Stil mit einem Auslöser definiert, der die Leuchtanimation startet und das funktioniert gut, abgesehen davon, dass jede Taste asynchron von den anderen pulsiert.

Wie kann ich mit jeder Taste ihren Puls mit den anderen synchronisieren?

Hier ist der Stil:

%Vor%

Prost!

    
Florian Doyon 18.01.2011, 15:09
quelle

2 Antworten

4

OK ... Ich werde einen Stich bei diesem machen ...

Das WPF-Framework hat keine Möglichkeit, synchron laufende Animationen zu synchronisieren. Sie müssen also eine andere Methode wählen. Eine Idee kommt mir in den Sinn ...

Animieren Sie eine Color-Eigenschaft eines ausgeblendeten UI-Elements in Ihrem Storyboard, und verwenden Sie dann eine UI-Bindung (d. h. ElementName-Bindungen), um eine Verbindung mit der Farbe jeder Ihrer Schaltflächen zu diesem ausgeblendeten UI-Element herzustellen.

    
ColinE 19.01.2011 08:47
quelle
1

Eigentlich solltest du das über eine Ressource machen, zumindest ist die Verwendung einer versteckten Kontrolle für mich persönlich ein bisschen zu viel.

Was erfüllt werden muss, damit es funktioniert:

  1. Die Eigenschaft, an die Sie binden, muss eine DependencyProperty sein, daher muss Ihr umhüllendes Objekt ein DependencyObject sein.
  2. Sie müssen das Objekt als statische Ressource (im Gegensatz zu einer dynamischen Ressource) wie folgt referenzieren:
%Vor%

Nun, zugegebenermaßen ist es ein wenig hacky, eine Wrapper-Klasse dafür zu haben, aber es ist sauberer als ein vollständiges Steuerelement (wenn Sie Controls verwenden möchten, können Sie einige ungenutzte Tag -Eigenschaft, zB des Containers, verwenden hostet alle Ihre Steuerelemente)

    
H.B. 19.01.2011 11:45
quelle