Mam groupboxes działające jak ekspandery w mojej aplikacji. Kiedy potrzebuję colla groupboksa, ustawię jego wysokość równą 0. kiedy potrzebuję go rozwinąć, ustawię jego wysokość równą auto (double.Nan). Można to zrobić za pomocą storyboardu. Jak mogłem wcześniej znać wysokość automatyczną? Mieszanie wyrażeń nie pozwala mi animować do automatu.Animacja wysokości groupbox od 0 do auto
Odpowiedz
Można użyć ScaleTransform tego
<GroupBox Header="GroupBox">
<GroupBox.RenderTransform>
<ScaleTransform ScaleY="1"/>
</GroupBox.RenderTransform>
</GroupBox>
Kiedy zwinąć groupbox ustawić ScaleTransform.ScaleX 0. A kiedy expand ustawiony na 1.
Jak ja nienawidzę, bo skala transformacji Uważam to za brzydkie, szukałem innego rozwiązania.
Cóż, wiem, że jest to stary post i istnieje wiele rozwiązań, ale moje jest dość proste i nie czytałem go gdzie indziej, nawet jeśli ktoś znalazł to na pewno.
Zamiast animowanie wysokość od X do Auto
(co jest niemożliwe), można pozwolić Wysokość do Auto
i animowanie właściwości MaxHeight
:
<MyControl x:Name="ctrlAutoHeight" Height="Auto">
<MyControl.Triggers>
<EventTrigger RoutedEvent="myRoutedEvent">
<BeginStoryboard>
<Storyboard>
<DoubleAnimation Storyboard.TargetName="ctrlAutoHeight" Storyboard.TargetProperty="MaxHeight"
From="0.0" To="{Binding ElementName=ParentControl, Path=ActualHeight}"
Duration="0:0:1" AutoReverse="False"/>
</Storyboard>
</BeginStoryboard>
</EventTrigger>
</MyControl.Triggers>
</MyControl>
Naprawdę sprytny i działa idealnie. –
Nie próbowałem tego jeszcze, ale nie widzę, jak by to nie zadziałało. Całkiem sprytnie. – Kilazur
Wiem teraz: nie znam dokładnego warunku, ale otrzymuję wyjątek InvalidOperationException, gdy próbuję powiązać 'To' z MaxHeight mojego okna lub z jego siatką. – Kilazur
- 1. Jquery - Animacja do wysokości: auto
- 2. jquery animacja do min-height lub auto
- 3. Angular 4 animacja do wysokości *
- 4. Animacja zmiany wysokości na karuzeli Bootstrapa (v2.3.2)
- 5. Animacja szerokości/wysokości z najdalszych kątów
- 6. Animacja wysokości kontenera LinearLayout z ValueAnimatorem
- 7. presentViewController Animacja od strony
- 8. Autosize GroupBox
- 9. Dywan dziecięcy o wysokości 100% do nadrzędnej automatycznej wysokości
- 10. Facebook jak przycisk renderowany z 0 szerokości i 0 wysokości?
- 11. ustalonej wysokości na 0 widoku nagłówka UITableView
- 12. Stylizacja obiektu GroupBox
- 13. Czym różni się "Auto" od "*" podczas ustawiania szerokości/wysokości dla kolumny siatki?
- 14. Bezproblemowa animacja przejścia od lewej do prawej w Androidzie
- 15. Dołączanie komponentów do GroupBox w C#
- 16. Białe obramowanie wokół GroupBox
- 17. Uzyskaj naprawdę użyteczny obszar Groupbox
- 18. Błąd - android.database.CursorIndexOutOfBoundsException: Index 0 o, o wielkości od 0
- 19. Animacja zmiany wysokości elementu div, gdy zmienia się jego zawartość
- 20. Czy szerokość elementu zależy od jego wysokości?
- 21. wysokość dziecka do 100% wysokości od przewijania dominującej zawartości
- 22. Animacja iOs Segue od lewej do prawej (poziomo)
- 23. Animacja tekstu od lewej do prawej, jak połysk w Androidzie
- 24. Skalowanie przycisku od prawej do lewej, animacja z Androidem
- 25. animacja od dołu do góry za pomocą Pushviewcontroller?
- 26. CSS3 Obrót od 0 do 90, następnie 90 do 180
- 27. góry do dołu - tłumaczyć animacja
- 28. Wyrównanie pozycji nagłówka Groupbox WPF
- 29. Niestandardowa animacja do przesuwania UIViewController
- 30. GroupBox/TitledBorder w JavaFX 2?
I rzeczywiście potrzebne do animacji z określonej wysokości na AUTO. Dlatego przed uruchomieniem animacji utworzę pętlę, która przetestuje, aby zobaczyć, w jakiej skali uzyskałbym przybliżoną wysokość 50 (spróbuj z .01 następnie .02 itd., Aż będzie blisko) i związaj tę zmienną z moim scenopisem. Dzięki Rikker –