Wpf 如何将ImageBrush锚定到元素的左下角?

Wpf 如何将ImageBrush锚定到元素的左下角?,wpf,imagebrush,Wpf,Imagebrush,我想在WPF元素中使用ImageBrush,并希望它平铺。但我希望图像与控件的左下角对齐,而不是左上角。也就是说,不是最上面的平铺的顶部与控件的顶部平齐,并且在底端有一个部分平铺,而是相反:最下面的平铺的底部与控件的底部平齐,并且在顶部有一个部分平铺。我该怎么做 下面是一些XAML,它重复图像,但将图像锚定到控件的左上角: <Rectangle> <Rectangle.Fill> <ImageBrush ImageSource="C:\Temp

我想在WPF元素中使用ImageBrush,并希望它平铺。但我希望图像与控件的左下角对齐,而不是左上角。也就是说,不是最上面的平铺的顶部与控件的顶部平齐,并且在底端有一个部分平铺,而是相反:最下面的平铺的底部与控件的底部平齐,并且在顶部有一个部分平铺。我该怎么做

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

<Rectangle>
  <Rectangle.Fill>
    <ImageBrush ImageSource="C:\Temp\triangle.png"
                Viewport="0 0 31 31"
                ViewportUnits="Absolute"
                TileMode="Tile"/>
  </Rectangle.Fill>
</Rectangle>
下面是一个示例,说明了它的作用,以及我正在寻找的内容,包括当元素调整大小时我希望发生的事情:

资料来源:


如何将平铺图像锚定到元素的底部而不是顶部,并确保它们在元素调整大小时仍锚定在底部?

最简单的方法是计算其他视口坐标


如果图像是20x20:Viewport=0 11 31,我可能会错几个单位。

所以应用固定偏移?我的意思是“锚定”意味着即使在元素调整大小时仍保持对齐,这是固定偏移量所不能做到的。我编辑了我的问题,以便更好地解释我在寻找什么。啊,好的。我想您可能需要使用绑定和valueconverter重新计算?