c# - XAML 图像被截断

标签 c# xaml windows-phone-8.1

在 XAML 中,我试图制作一个大图像,该图像被裁剪为背景,以缓慢地在屏幕上移动,直到它到达另一边的图像。问题是图像总是不会比显示器大,即使它被拉长了。所以我留下了一个屏幕大小的图像,并带有黑色背景。

        <Image x:Name="background" HorizontalAlignment="Left" Grid.Row="1" Width="1500" Stretch="Fill" MaxWidth="1500" MinWidth="1500">
        <Image.RenderTransform>
                <TranslateTransform x:Name="bgTranslate" X="0"></TranslateTransform>
            </Image.RenderTransform>
        </Image>

最佳答案

Grid 控件使用可用的单元格大小排列图像。然后,在应用任何 RenderTransform 之前,Image 控件会切掉位于排列矩形之外(因此不可见)的图像部分。

一个简单的解决方法是将图像放在 Canvas 中,它会按照所需的大小排列其子元素:

<Grid ...>
    ...
    <Canvas Grid.Row="1">
        <Image x:Name="background" Width="1500">
            <Image.RenderTransform>
                <TranslateTransform x:Name="bgTranslate"/>
            </Image.RenderTransform>
        </Image>
    </Canvas>
    ...
</Grid>

关于c# - XAML 图像被截断,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29462234/

相关文章:

c# - 将表从一个 SQL Server 高效更新到另一个相同的表结构

c# - 绘制的线不显示在组合框中

c# - if 语句中的变量声明

c# - 如何以编程方式更改 Win 8.1 或 Win 10 UWP 应用程序的背景主题?

c# - 是否可以在 UpdatePanel 中重新执行 javascript?

.net - 如何重用 GridViewColumn CellTemplate 并允许不同的绑定(bind)?

c# - 如何更改 Windows Phone 中 MenuFlyout 的外观?

c++ - 如何在 Windows Phone 上使用 c++/cx 获得加密安全随机性?

c# - 在 Windows Phone 8.1 共享合约中显示 Viber、Whatsapp

c# - 从整数转换为十六进制