0

キャンバスを背景に設定し、その背景キャンバスの子としていくつかの画像ピースを追加しました。特定の画像コントロールを背景キャンバスの指定された xy 位置に移動したいので、以下に示すこの種のコードを試しました

bg_Canvas.Children[it].RenderTransform = new TranslateTransform();

            TranslateTransform trans = bg_Canvas.Children[it].RenderTransform as TranslateTransform;
            DoubleAnimation animation = new DoubleAnimation();

            animation.To = 80; 
            Storyboard.SetTarget(animation, trans);
            Storyboard.SetTargetProperty(animation, new PropertyPath(TranslateTransform.XProperty));

            Storyboard story = new Storyboard();
            story.Children.Add(animation);


            story.Begin();

それは機能していますが、問題は、画像コントロールを背景キャンバスの正しい x 位置に配置できなかったことです。画像が配置された場所から x 位置を取得しています。実際には、キャンバスに配置された画像コントロールから 0 番目の x 位置が開始するため、設定する必要があります。イメージ コントロールを配置する背景キャンバスの x 位置。この問題を解決するにはどうすればよいですか。誰かが知っている場合は、この解決策を教えてください。

4

1 に答える 1

1

翻訳を使用する代わりに、キャンバスに画像を配置する場所を指示するだけです。

Canvas.SetTop(image, 80);
Canvas.SetLeft(image, 160);

編集:要素をアニメーション化できるようにするにStoryboardは、それを使用するとき、プロパティでアニメーション化、配置"(Canvas.Left)"、または"(Canvas.Top)"適切に読むことができます。

WP8 を使用している場合は、この一連の投稿に投稿されたコードを変更して、Windows Phone で動作するようにすることができます (Windows 8 用にコーディングされています)。これにより、アニメーション化 (キャンバス上を含む) が非常に簡単になります。

于 2013-04-10T12:09:01.357 に答える