如何设置图像背景重复?

时间:2011-05-25 21:34:23

标签: image xaml windows-phone-7 background repeat

我正在尝试将图像背景设置为沿整个网格重复。这是一个小图像,有一点随机噪声,可以给它纹理。

目前这就是我正在做的事情:

<Grid.Background>
    <ImageBrush ImageSource="Images/mainBg.png" Stretch="UniformToFill" />
</Grid.Background>

但这会使图像爆炸并使噪音看起来很糟糕。我想让图像在X轴和Y轴上重复以填充它所能容纳的空间。

这可能吗?

2 个答案:

答案 0 :(得分:5)

简短回答:
无法在手机上创建图像拼贴。

答案很长:
你甚至不应该在手机上试试这个。作为(总和),您知道要在设计时平铺的图像,您应该创建一个更大的图像,其中包括设计时的平铺效果。这将减少您的应用需要完成的工作量,使其运行得更快。

如果你真的必须在运行时这样做。您可以在WrapPanel内部添加一个数字(来自Silverlight Toolkit)。您可能希望尝试将每个图像的源代码从后面的代码设置为相同的内存实例,以节省资源/内存。 (这只是一个想法 - 测试它! - 它可能不是一个问题。)

答案 1 :(得分:1)

您需要使用此代码

  <ImageBrush ImageSource="xyz.png" Stretch="None" TileMode="Tile"/>

不幸的是,TileMode仅适用于WPF。在我看来,微软的一个奇怪的决定。较大的图像意味着浪费内存。另外,你有肖像/风景的问题。 WrapPanel似乎也不是一个好的解决方案。