【发布时间】:2011-06-18 07:23:48
【问题描述】:
我正在尝试创建一个动画,其中图标(Viewbox-wrapped Canvas 上的 xaml 矢量图形)从其旁边的文本 (TextBlock) 变为其下方。
我目前在水平方向的 StackPanel 中有 Viewbox 和 TextBlock。我可以将方向更改为垂直,但这是即时更改(动画不流畅)。我也可以使用 TranslateTransform(可以动画)设置 TextBlock 的位置,但这很难以可重用的方式进行(即没有硬编码值)。
谁能告诉我是否有任何以 WPF 为中心的方式来动画堆栈面板中从水平方向到垂直方向的过渡?还是我没有想到的其他方式来达到预期的效果?
谢谢大家!
【问题讨论】:
-
我的直觉告诉我你将不得不编写一些代码来进行一些翻译转换,而且它不会很漂亮。看看是否有人想出一个好方法会很有趣。
-
您是否试图将其放置在与 ViewBox 相关的某个区域...例如,无论 ViewBox 大小如何,您都可以始终将其放置在 ViewBox 的左侧和下方或...?
-
它可能达不到想要的效果,但是一个更流畅的动画方式,可能实现起来不太复杂,可能是淡出文本然后再淡出当您更改 StackPanel 的方向时(例如,使用
DataTrigger及其 Start-/EndActions,尽管我不知道您能否轻松地获得正确的时间......)
标签: wpf orientation stackpanel