设置边框底部Silverlight的动画

设置边框底部Silverlight的动画,silverlight,xaml,animation,margin,Silverlight,Xaml,Animation,Margin,我目前正在处理动画,我有一个网格隐藏了一个搜索面板,单击搜索按钮将网格向下移动,显示搜索选项 我有这部分工作的问题是,网格视图占用了所有可用空间,所以当搜索栏被隐藏时,它看起来很好,但是如果搜索栏可见,那么网格底部就会离开页面 我一直在尝试使用边距来修复这个问题,当搜索栏显示时,底部边距会增加,从而减小其总大小,并阻止它离开屏幕底部 我读过一些主题,它们指出在页边空白处制作动画是不可能的。我已经设法让它部分地使用以下代码 <ObjectAnimationUsingKeyFrames Sto

我目前正在处理动画,我有一个网格隐藏了一个搜索面板,单击搜索按钮将网格向下移动,显示搜索选项

我有这部分工作的问题是,网格视图占用了所有可用空间,所以当搜索栏被隐藏时,它看起来很好,但是如果搜索栏可见,那么网格底部就会离开页面

我一直在尝试使用边距来修复这个问题,当搜索栏显示时,底部边距会增加,从而减小其总大小,并阻止它离开屏幕底部

我读过一些主题,它们指出在页边空白处制作动画是不可能的。我已经设法让它部分地使用以下代码

<ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="Margin" Storyboard.TargetName="Grid">
            <DiscreteObjectKeyFrame KeyTime="0" Value="0"/>
            <DiscreteObjectKeyFrame KeyTime="0:0:0.5" Value="170"/>
        </ObjectAnimationUsingKeyFrames>

问题是,这会对对象的所有边应用边距,我只想对底部应用边距。不幸的是,下面的代码不起作用

是否有解决方法,或者我必须找到另一种方法来向上移动网格底部


感谢页边距
属性的类型为
厚度
,因此您应该能够如下设置其组成部分:

    <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>

3,7,5,9

更好的选择可能是使用
TranslateTransform
定位控件,这样您可以简单地更改X或Y组件。我个人认为通过边距定位控件有点像黑客

我使用TranslateTransform定位控件,但这会使部分控件脱离屏幕底部。谢谢你的回复,这正是我想要的。