C# 在Windows应用商店应用程序中以编程方式设置图像的位置

C# 在Windows应用商店应用程序中以编程方式设置图像的位置,c#,windows-runtime,microsoft-metro,winrt-xaml,C#,Windows Runtime,Microsoft Metro,Winrt Xaml,我正在用C#和XAML开发一个Windows应用商店应用程序,在这个应用程序中,我在用户屏幕上显示了一个图像。在某些事件中,我想将其在屏幕上的位置更改为我选择的坐标 我试过了 Canvas.SetLeft(selectedImage, screenCoords.X); Canvas.SetTop(selectedImage, screenCoords.Y); 及 但它们不起作用。在此之后,我还尝试过更新布局。谁能告诉我我到底做错了什么 以下是XA

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

我试过了

            Canvas.SetLeft(selectedImage, screenCoords.X);
            Canvas.SetTop(selectedImage, 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”中的一个图像。

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

我想你指的是现代UI应用程序,因为Microsoft由于国际商标而放弃了metro名称……我不知道……这对我来说很愚蠢,但微软希望它被称为Windows8UI或Modern。一篇文章,虽然有几百篇。谢谢你指出:)你能解决我的问题吗?你能发布
XAML
code吗?
<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>