我目前正在处理动画,我有一个隐藏搜索面板的网格,单击搜索按钮会将网格向下移动以显示搜索选项。
我让这部分工作的问题是网格视图占用了所有可用空间,因此当搜索栏隐藏时它看起来很好,但如果搜索栏可见,那么网格底部就会离开页面。
我一直在尝试使用边距来解决此问题,当显示搜索栏时,底部边距会增加,减少其总大小并阻止其离开屏幕底部。
我读过一些主题,指出边距上的动画是不可能的。我已经设法让它部分地与以下代码一起工作。
<ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="Margin" Storyboard.TargetName="Grid">
<DiscreteObjectKeyFrame KeyTime="0" Value="0"/>
<DiscreteObjectKeyFrame KeyTime="0:0:0.5" Value="170"/>
</ObjectAnimationUsingKeyFrames>
问题是,这对对象的所有侧面应用了边距,我只想对底部应用边距。不幸的是下面的代码不起作用
有没有解决这个问题的方法,或者我是否必须找到另一种方法来将网格底部向上移动。
Thanks
The Margin
属性是类型Thickness
,因此您应该能够按如下方式设置其组成部分:
<ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="Margin"
Storyboard.TargetName="Grid">
<DiscreteObjectKeyFrame KeyTime="0" Value="0"/>
<DiscreteObjectKeyFrame KeyTime="0:0:0.5">
<DiscreteObjectKeyFrame.Value>
<Thickness>3,7,5,9</Thickness>
</DiscreteObjectKeyFrame.Value>
</DiscreteObjectKeyFrame>
</ObjectAnimationUsingKeyFrames>
更好的选择可能是使用TranslateTransform
,这样您就可以简单地更改 X 或 Y 分量。我个人认为通过其边距定位控件有点麻烦!
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)