如何使用故事板减少stackpanels的上边距

时间:2013-05-02 18:22:39

标签: windows-phone-7 xaml

我尝试了以下内容:

<Image.Resources>
                    <Storyboard x:Name="LogoStoryBoard">
                        <ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="Margin" Storyboard.TargetName="LogoImage">
                            <DiscreteObjectKeyFrame KeyTime="0:0:3" Value="0, 100, 0, 0" />
                        </ObjectAnimationUsingKeyFrames>

但是这只会在3秒后跳过它。有没有办法让我轻松下来100像素

3 个答案:

答案 0 :(得分:1)

它会在3秒时跳过它,因为这是你在KeyTime上设置的内容,所以如果你把它减少到像“0:0:0.01”这样的东西,那么它就会非常直接像;

   <ObjectAnimationUsingKeyFrames 
       Storyboard.TargetProperty="Margin" Storyboard.TargetName="LogoImage">
          <DiscreteObjectKeyFrame KeyTime="0:0:0.01" Value="0,100,0,0" />
   </ObjectAnimationUsingKeyFrames>

但是,您也可以直接应用ChangePropertyAction行为并将故事板放在一起。 :)

希望这有帮助。

答案 1 :(得分:1)

WP7 / WP8中没有ThicknessAnimation,因此您无法为边距设置动画。即使你可能会非常滞后,因为每次增量保证金更新都需要一个度量/安排通行证。您可能想要的是为图像赋予RenderTransform并为(TranslateTransform.TranslateY)设置动画以在合成器上获得平滑的垂直滑动。动画完成后,您可以将变换归零并设置边距以根据需要更新可视树。

答案 2 :(得分:0)

需要这个:

<Image.Resources>
     <Storyboard x:Name="LogoStoryBoard">
         <ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="Margin" Storyboard.TargetName="LogoImage">
                <DiscreteObjectKeyFrame KeyTime="0:0:0" Value="0, 0, 0, 0" />
                <DiscreteObjectKeyFrame KeyTime="0:0:3" Value="0, 100, 0, 0" />
         </ObjectAnimationUsingKeyFrames>

希望得到帮助