1

我正在使用 C# 和 XAML 开发一个 Windows Store 应用程序,其中我在用户屏幕上显示了一个图像。在某些事件中,我想将其在屏幕上的位置更改为我选择的坐标。

我努力了

            Canvas.SetLeft(selectedImage, screenCoords.X);
            Canvas.SetTop(selectedImage, screenCoords.Y);

selectedImage.SetValue(Canvas.LeftProperty, screenCoords.X);
selectedImage.SetValue(Canvas.TopProperty, screenCoords.Y);

但他们没有工作。在此之后我也尝试过更新布局。谁能告诉我我到底做错了什么?

这是 XAML 代码:

<FlipView.ItemTemplate>
                <DataTemplate>
                    <Grid x:Name="cv">
                        <Image x:Name="img1" Source = "{Binding ModelImage}" Stretch="Fill" Tag="{Binding ModelTag}" Tapped="ModelTapped"/>

                        <Image x:Name="hat" Source = "{Binding HatImage}" Width="{Binding HatWidth, Mode=TwoWay}" Height="{Binding HatHeight, Mode=TwoWay}" Stretch="Fill" ManipulationMode="All" ManipulationDelta="ResourceImage_ManipulationDelta" Tapped="imageTapped" Tag="{Binding hatTag}" Canvas.ZIndex="3">
                            <Image.RenderTransform>
                                <CompositeTransform />
                            </Image.RenderTransform>
                        </Image>
                    </Grid>
                </DataTemplate>
            </FlipView.ItemTemplate>

我在名为“cv”的网格中有几张图像,为简单起见将它们删除。上面 C# 代码中的 selectedImage 是网格“cv”中的图像之一。

4

1 回答 1

0

我通过使用 RenderTransform 属性将我的图像转换为所需的点来解决这个问题。

于 2013-07-13T20:02:36.730 回答