2011-04-03 44 views
0

我想在WPF元素中使用ImageBrush,并且我想要它平铺。但我希望图像与控件的左下角对齐,而不是左上角。也就是说,最顶端的瓦片的顶部不是顶部的控制部分,而是底部的部分瓦片,我想用另一种方式:最底部瓦片的底部,即使底部控制权和顶部的部分瓷砖。我怎样才能做到这一点?如何将ImageBrush锚定到元素的左下角?

下面是一些XAML是重复的图像,但它锚定到控件的左上角:

<Rectangle> 
    <Rectangle.Fill> 
    <ImageBrush ImageSource="C:\Temp\triangle.png" 
       Viewport="0 0 31 31" 
       ViewportUnits="Absolute" 
       TileMode="Tile"/> 
    </Rectangle.Fill> 
</Rectangle> 

这里是什么这样做的图,我正在寻找(包括我想要什么发生作为元素调整大小):

http://www.excastle.com/misc/ImageBrushBottomLeft2.png

我怎么能锚平铺图像的元素,而不是顶部的底部(并确保他们留在底部锚定,即使该元素调整大小)?

回答

0

'最简单'的方法是通过计算其他视口坐标。

如果图像是20x20:视口=“0 11 31 31”我可能是错误的几个单位。

+0

因此应用一个固定的偏移?我的意思是“锚点”的意思是“保持对齐,即使在元素调整大小”时,固定偏移量也不会这样做。我编辑了我的问题,以更好地解释我在找什么。 – 2011-04-03 17:41:19

+0

啊,好的。我想你将不得不重新计算(可能通过使用绑定和valueconverter?) – 2011-04-03 18:07:48