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 回答