Mam kilka kontroli użytkownika WPF, które wewnętrznie wyzwalają niektóre animacje podczas interakcji użytkownika. Wszystkie animacje mają parametr repeatbehavior = "true", a wszystkie animacje mają taki sam czas trwania. Teraz chciałbym zsynchronizować wszystkie animacje na jednej osi czasu, aby były zsynchronizowane. Bez względu na to, kiedy użytkownik uruchomi animacje. Na przykład, jeśli animacje przez ostatnie 3 sekundy i użytkownik uruchamia drugą animację 1,5 sekundy po pierwszej, nadal chcę, aby animacje osiągnęły maksimum w tym samym czasie. Może mogę zdefiniować globalną linię czasu w globalnym słowniku zasobów, z której mogą korzystać wszystkie animacje zdefiniowane gdzieś w UserControls? Korzystnie tylko XAML.Wiele scen lub animacji z tą samą osią czasu?
Odpowiedz
Po prostu dodaj wszystkie swoje animacje do pojedynczego TimelineCollection. Następnie dodaj tę TimelineCollection do swojej Storyboard.Children. Wtedy wszyscy wystrzelą jednocześnie.
XAML: niemożliwe (o ile wiem)
Kod: CompositionTarget.Rendering
Czy możesz rozwinąć sposób, w jaki będę używać zdarzenia CompositionTarget.Rendering z moimi definicjami animacji? – bitbonk
Musisz przenieść animację do kodu. W zdarzeniu Rendering sprawdź, które animacje powinny być uruchomione i ręcznie aktualizuj odpowiednie właściwości na podstawie pojedynczej zmiennej timera. To nie jest dużo pracy, tylko kilka linii SomeElement.SomeProperty = baseValue + rate * timePassed; – ima
Może mój post może pomóc http://translate.google.it/translate?js=n&prev=_t&hl=it&ie=UTF-8&layout=2&eotf=1&sl=it&tl=en&u=http%3A%2F%2Fblogs.ugidotnet.org%2Fleonardo%2Farchive%2F2011%2F01%2F08%2Fsincronizziamo-le-animazioni-con-wpf.aspx&act=url (w języku włoskim i link jest Google Translate)
- 1. Sporządzenie wykresu słupkowego poniżej xyplot z tą samą osią x?
- 2. Dwie działki z tą samą osią X i Y
- 3. Plotek rdzenia: Dwie działki z tą samą osią x
- 4. PHP/MYSQL - Wiele połączeń z tą samą bazą danych?
- 5. Interfejs C++ wiele dziedziczenia z tą samą metodą
- 6. Wiele scen w JavieFX
- 7. JavaFX LineChart czasu rzeczywistego z osią czasu
- 8. DocuSign: Jak wypełniać wiele kart tekstowych tą samą etykietą?
- 9. Wykres kolumnowy z osią czasu nie działa
- 10. Uzyskaj wartości wszystkich wejść z tą samą klasą co tablica
- 11. PHP: Symulacja wielu połączeń MySQL z tą samą bazą danych
- 12. Zwolnij kilka aplikacji na Androida z tą samą bazą kodową
- 13. Suma wartości z różnych elementów div z tą samą klasą
- 14. E-maile z tą samą domeną nie wychodzą z postfiksa
- 15. graphviz: Utwórz nowy węzeł z tą samą etykietą
- 16. Jak działa "wiele scen wykonawczych" Javascriptu?
- 17. Jak mogę zapobiec łączeniu z tą samą biblioteką macierzystą przez wiele zależności?
- 18. Czy bezpieczne jest połączenie wielu wątków z tą samą funkcją?
- 19. Android - dwa widoki z tą samą rzędną obok siebie
- 20. Konwertuj NSMutableArray na NSSet z tą samą kolejnością
- 21. Połączyć dwie lub więcej aplikacji z tą samą bazą danych przy użyciu Hibernate
- 22. Zaznacz lub odznacz wszystkie pola wyboru z tą samą nazwą klasy na podstawie wartości
- 23. grupuj wiele aplikacji pod tą samą ikoną w programie uruchamiającym aplikacje
- 24. Zdarzenie Ember dla najlepszych zmian odrzucających między tą samą trasą
- 25. Diagramy matplotlib z 2-osią
- 26. jquery wiele identyfikatorów samą funkcję
- 27. Dlaczego 2-składnikowe konstrukcje z tą samą datą i czasem zwracają fałsz w porównaniu z ==?
- 28. Wiele z podprocesów limity czasu
- 29. Czy wiele instancji sidekiq może przetwarzać tę samą kolejkę?
- 30. D3.js wiele osi Y z taką samą pozycją tyknięć?
jak ja powiedział animacje są zdefiniowane przez moje kontrole użytkownika. Nie sądzę, że istnieje sposób na dodanie animacji, które są zdefiniowane w różnych kontrolach użytkownika na tej samej osi czasu. A może jest? – bitbonk