【问题标题】:Wp7 Storyboard Animation Setting Appearing HorizonWp7情节提要动画设置出现地平线
【发布时间】:2012-06-22 03:52:33
【问题描述】:

我只是想知道是否有一种方法可以设置您希望故事板项目出现在屏幕上的垂直阈值(滑入和滑出时),这样它就不必滑过所有内容弹出和弹出时的屏幕。我有一个根据计时器事件翻转的项目列表,但是当一个项目出现在屏幕上时,它会越过所有其他按钮和用户控件,看起来不太漂亮。如果我可以让它看起来好像项目从背景滑出就位,那就太好了。

我有两个情节提要动画,一个处理滑入的对象,另一个处理需要滑出的当前对象。内容区域的两侧还有箭头按钮,当前对象在箭头上滑动,这是我想要消除的。这是故事板代码:

    <Storyboard x:Key="newsIn" x:Name="newsIn">
        <DoubleAnimationUsingKeyFrames Storyboard.TargetProperty="(UIElement.RenderTransform).(CompositeTransform.TranslateX)" Storyboard.TargetName="newsContent">
            <EasingDoubleKeyFrame KeyTime="0" Value="500"/>
            <EasingDoubleKeyFrame KeyTime="0:0:0.5" Value="0">
                <EasingDoubleKeyFrame.EasingFunction>
                    <BounceEase EasingMode="EaseIn" Bounces="0"/>
                </EasingDoubleKeyFrame.EasingFunction>
            </EasingDoubleKeyFrame>
        </DoubleAnimationUsingKeyFrames>
    </Storyboard>

    <Storyboard x:Key="newsOut" x:Name="newsOut">
        <DoubleAnimationUsingKeyFrames Storyboard.TargetProperty="(UIElement.RenderTransform).(CompositeTransform.TranslateX)" Storyboard.TargetName="newsContent">
            <EasingDoubleKeyFrame KeyTime="0" Value="0"/>
            <EasingDoubleKeyFrame KeyTime="0:0:0.5" Value="-500">
                <EasingDoubleKeyFrame.EasingFunction>
                    <BounceEase EasingMode="EaseIn" Bounces="0"/>
                </EasingDoubleKeyFrame.EasingFunction>
            </EasingDoubleKeyFrame>
        </DoubleAnimationUsingKeyFrames>
    </Storyboard>

我不知道我是否清楚地描述了这一点,但如果有人以前这样做过或知道我可以学习这样做的资源,非常感谢您的帮助。

感谢您的宝贵时间。

回答:将您的动画元素放在画布(或某个容器)中,并使用 Clip 属性仅在它们出现在专用区域内时才显示它们。

    <Canvas Name="newsContent" Grid.Column="1" >
       <Canvas.Clip>
           <RectangleGeometry Rect="0,0,372,200"/>
       </Canvas.Clip>
       <Ui element/>
       <Ui element2/>
       ....
    </Canvas>

【问题讨论】:

    标签: wpf silverlight windows-phone-7 xaml


    【解决方案1】:

    好的,您可以尝试在作为您的内容容器的控件上使用 clipToBounds = true,即包含“新闻”项目(即画布或网格等)的控件。确保您的箭头等不在同一个容器中

    【讨论】:

    • 天哪,Clip 属性正是我要找的!我不敢相信我没有早点发现。我刚刚制作了一个 Canvans,其边缘有一个 clip 属性,然后让我的 UI 元素滑入和滑出。
    【解决方案2】:

    您可以只为 opacity 属性设置动画吗?让它只有在它就位后才变得可见

    【讨论】:

    • 但是你不会得到滑动效果,我正在寻找我的网格滑动到视图中,但不是从屏幕末尾开始。所以你会首先看到网格的一小部分,然后随着它滑入视野而越来越多。就像在 WP7 上点击按住以将某些内容固定到开始菜单时一样,您会看到该菜单从无处滑落。有什么想法吗?
    • 除非您在讨论为部分网格设置不透明度的动画,并在其滑入位置时慢慢增加您可以看到的数量。这可能吗?
    • 看不到动画代码就很难评论。但是,是的,网格上的不透明度。它不需要是渐进的,尽管你可以定时让它在超过你的“阈值”时变得可见
    • 没有办法让物体从其他物体的后面滑入吗?那将是理想的,然后你只会在它进入透明区域时看到它,这就是我想要的外观(所以它会从控制列表切换的箭头后面滑出,而不是从侧面滑过它屏幕)。
    • 几乎肯定有办法,但如果没有你发布动画等,我无法想象你想要做什么。
    猜你喜欢
    • 1970-01-01
    • 2012-05-23
    • 2012-11-19
    • 2013-11-14
    • 1970-01-01
    • 1970-01-01
    • 2012-12-03
    • 2021-01-26
    • 1970-01-01
    相关资源
    最近更新 更多