0

所以我正在开发这个应用程序,在那里我得到了一些提醒很多关于列表的东西,但它不使用列表控件或其他东西。我将网格和矩形添加到滚动查看器,当我双击手柄或矩形时,它会以淡入淡出动画消失(我也需要帮助来做,以及在应用程序启动时快速淡入),当发生这种情况时,我希望将网格或矩形下方的网格或矩形淡出(或被移除,最好的解决方案是什么?),向上滑动,并替换空位置。请不要误解这个问题,我不想让你为我做,我想知道怎么做,因为我根本找不到任何解决方案。它有点像谷歌现在适用于 android 和 iphone。我怎样才能以最好的方式做到这一点?太感谢了!最好的问候, 埃里克

我的 DoubleAnimation 淡化网格:

        DoubleAnimation fadeGrid = new DoubleAnimation();
        fadeGrid.From = 0;
        fadeGrid.To = 1;
        fadeGrid.Duration = new Duration(TimeSpan.FromSeconds(0.5));
        fadeGrid.AutoReverse = false;
4

1 回答 1

0

1)使用动画淡出和向上滑动。对于淡入淡出,您将对 Opacity 属性执行 DoubleAnimation。对于向上滑动项目,您将对 TranslateTransform 属性进行动画处理。请参阅这些 MSDN 指南: http: //msdn.microsoft.com/en-us/library/windowsphone/develop/jj206955 (v=vs.105).aspx和http://msdn.microsoft.com/en-us/库/windowsphone/develop/system.windows.media.translatetransform(v=vs.105).aspx

2)为了真正正确地向上移动,您需要从动画中捕获 Completed 事件(http://msdn.microsoft.com/en-us/library/windowsphone/develop/system.windows.media.animation。时间线.完成(v=vs.105).aspx)。动画完成后,从 ScrollViewer 内的 StackPanel 中删除这些控件,并撤消您对其下方项目所做的任何位置动画,以使它们“向上滑动”。

3)创建动画后,您需要将其添加到情节提要:

Storyboard sb = new Storyboard();
sb.Children.Add(fadeGrid);
Storyboard.SetTarget(fadeGrid, myRectangle);
Storyboard.SetTargetProperty(fadeGrid, new PropertyPath("(UIElement.Opacity)"));
sb.Begin();

propertypath 的语法但不是很完美,但你明白了。您可以在这里看到另一个特别提到不透明度的示例:http: //blogs.msdn.com/b/silverlight_sdk/archive/2008/03/21/silverlight-animations-a-walkthrough.aspx

于 2013-08-14T20:33:34.960 回答