0

だから私はリストについて多くを思い出させる何かを得たこのアプリを開発していますが、それはリストコントロールなどを使用していません。スクロールビューアーにグリッドと長方形を追加し、グリップまたは長方形をダブルタップすると、フェード アニメーションで消えます (アプリの起動時に 1 つずつフェード インするだけでなく、高速で行うためのヘルプも必要です)。そして、それが起こったとき、フェードアウトした(または削除された、最良の解決策は何ですか?)グリッドまたはレクタングルを上にスライドさせ、空の位置を置き換えます。質問を誤解しないでください。私に代わって作成してほしくありません。解決策がまったく見つからないため、方法を知りたいです。Android と iPhone では、Google のように機能します。どうすればこれを最善の方法で行うことができますか? どうもありがとうございます!よろしく、 エリック

グリッドをフェードする私の 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) Use animations for your fade out and slide up. For fade, you'll be doing a DoubleAnimation on the Opacity property. For sliding items up, you'll be doing an animiation on the TranslateTransform property. See these MSDN guides: http://msdn.microsoft.com/en-us/library/windowsphone/develop/jj206955(v=vs.105).aspx and http://msdn.microsoft.com/en-us/library/windowsphone/develop/system.windows.media.translatetransform(v=vs.105).aspx

2) For actually properly moving things up, you'll want to capture the Completed event from the animiation (http://msdn.microsoft.com/en-us/library/windowsphone/develop/system.windows.media.animation.timeline.completed(v=vs.105).aspx). When the animiation completes, remove those controls from the StackPanel inside the ScrollViewer, and undo any position animation you did on the items below it to animate them 'sliding' up.

3) After creating an animiation, you need to add it to a storyboard:

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

The syntax for the propertypath but not be quite perfect, but you get the idea. You can see another example that specifically mentions opacity here: http://blogs.msdn.com/b/silverlight_sdk/archive/2008/03/21/silverlight-animations-a-walkthrough.aspx

于 2013-08-14T20:33:34.960 に答える