【问题标题】:Set position of Image programatically in Windows Store App在 Windows 应用商店应用程序中以编程方式设置图像的位置
【发布时间】:2013-07-13 17:22:27
【问题描述】:

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

我试过了

            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' 中的图像之一。

【问题讨论】:

  • 我假设您的意思是一个现代 UI 应用程序,因为微软由于国际商标而放弃了 Metro 名称...
  • 我不知道...
  • 对我来说很愚蠢,但微软希望它称为 Windows 8 UI 或 Modern。一篇文章,虽然很容易有数百篇。 theverge.com/2012/8/10/3232921/…
  • 感谢您指出这一点 :) 您能解决我的问题吗?
  • 你能发XAML代码吗?

标签: c# windows-runtime microsoft-metro winrt-xaml


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 2013-02-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-07-30
    • 2015-12-09
    相关资源
    最近更新 更多