动画控件大小从0到首选

时间:2012-07-24 16:51:04

标签: wpf

有没有办法创建能够控制控制高度的动画,将其从0扩展到原始(首选)大小?也就是说,我对高度的控制取决于它的文本内容,我想引入一个动画,它会将其向下滚动。

2 个答案:

答案 0 :(得分:0)

由于实际值是动态的,所以有点棘手,所以你不能将动画绑定,因为它们需要是freezable。此外,表示此行为的值(Double.NaN)不能用于非离散动画。使用Interactivity中的流体布局或后面的某些代码可以执行此操作,this question可以作为参考。如果您还没有拟合状态,则必须创建自己的状态并手动更改状态以触发转换。

答案 1 :(得分:0)

当我在过去研究这个时,答案是动画到最大高度而不是高度。这样,你仍然会得到扩展到适合内容时的高度。

当然,问题是难以获得精确的动画速度,因为控制在动画完成之前自然会停止增长。

我做的是,我将屏幕工作高度设置为动画,然后在动画完成事件上,我将最大高度设置为正无穷大,这意味着没有最大高度。这将使得设置持续时间比从0到无穷大的动画更容易。